/* SAV Project Support design system, adaptácia pre WordPress + Neve.
   Zdroj: SAV Project Support Design System (claude.ai/design), tokens/colors.css a typography.css.
   Signálna červená #FF3131 má na krémovom podklade kontrast 3,6:1, na text a tlačidlá preto používame --signal-deep (#D91F1F, 5,0:1). */

:root {
	--cream: #FFFDFA;
	--cream-2: #F7F3EA;
	--cream-3: #EDE7DA;
	--ink: #1C1A1B;
	--ink-2: #3D3A3B;
	--ink-3: #6E6A6B;
	--ink-4: #A8A3A2;
	--signal: #FF3131;
	--signal-deep: #D91F1F;
	--signal-tint: #FFE3E3;
	--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--tracking-display: -0.03em;
	--tracking-label: 0.02em;
	--prog-erc: #D91F1F;
	--prog-erc-tint: #FFF0F0;
	--prog-msca: #1D4ED8;
	--prog-msca-tint: #EEF3FF;
	--prog-impulz: #6B21A8;
	--prog-impulz-tint: #F5F0FC;
}

/* Základ */
body { background: var(--cream); color: var(--ink); -webkit-font-smoothing: antialiased; }
::selection { background: var(--signal); color: var(--cream); }
a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--signal-deep); }
:focus-visible { outline: 2px solid var(--signal-deep) !important; outline-offset: 2px; }

/* Hranaté rohy všade */
.wp-block-button__link, .button, button, input, textarea, select, .wp-block-group, .wp-block-image img, .nv-post-thumbnail-wrap img, .wp-block-post-featured-image img, .fluentform .ff-btn, .fluentform input, .fluentform textarea, .fluentform select, .sav-contact-btn, .sav-contact-dialog, .tnp-subscription input, .tnp-subscription .tnp-submit { border-radius: 0 !important; box-shadow: none !important; }

/* Nadpisy a sekcie */
.entry-content h2 { border-top: 2px solid var(--ink); padding-top: 12px; margin-top: 48px; }
.entry-content h2:first-child, .sav-hero h2, .wp-block-column > h2:first-child { margin-top: 0; }
.sav-kicker, .sav-events__month, .wp-block-post-date, .wp-block-post-terms, .nv-meta-list { font-family: var(--font-mono); font-size: 12px; letter-spacing: var(--tracking-label); text-transform: uppercase; }
.sav-kicker::before { content: ""; display: inline-block; width: 12px; height: 12px; margin-right: 6px; vertical-align: -1px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1A1B' stroke-width='3' stroke-linecap='square'><path d='M6 18 18 6M8 6h10v10'/></svg>") no-repeat center / contain; }
.sav-kicker--red { color: var(--signal-deep); }
.sav-h1-light { font-weight: 400; }

/* Hero na domovskej stránke: text vľavo, hviezda vpravo odrezaná hranou */
.sav-hero { position: relative; overflow: hidden; padding: 72px 0 64px; }
.sav-hero::after { content: ""; position: absolute; right: -170px; top: 50%; width: 520px; height: 520px; margin-top: -260px; background: var(--sav-starburst) no-repeat center / contain; pointer-events: none; }
.sav-hero > * { position: relative; z-index: 1; max-width: 720px; }
.sav-hero h1 { font-size: clamp(40px, 6vw, 80px); line-height: 0.95; letter-spacing: var(--tracking-display); text-transform: uppercase; margin: 0 0 24px; }
.entry-content .has-large-font-size, .sav-hero .has-large-font-size { font-size: 22px; line-height: 1.35; letter-spacing: -0.015em; }
.sav-hero .has-large-font-size { max-width: 560px; }
.entry-content > .has-large-font-size:first-child, .entry-content > .wp-block-group:first-child > .has-large-font-size:first-child { max-width: 720px; margin-bottom: 40px; }
@media (max-width: 900px) { .sav-hero::after { width: 240px; height: 240px; margin-top: 0; top: -40px; right: -110px; opacity: .18; } .sav-hero { padding: 40px 0 32px; } .sav-hero h1 { font-size: clamp(34px, 9vw, 48px); } }

/* Karty: biele/krémové obdĺžniky s vlasovým rámom, bez tieňa */
.sav-card, .entry-content .wp-block-group.has-border-color { background: #fff; border: 1px solid var(--cream-3) !important; padding: 24px; }
.sav-card--sunken { background: var(--cream-2); border-color: transparent !important; }
.sav-card--inverse { background: var(--ink); color: var(--cream); }
.sav-card--inverse a, .sav-card--inverse h2, .sav-card--inverse h3 { color: var(--cream); }
.sav-card--inverse h2 { border-top-color: var(--cream); }
.sav-card--accent { background: var(--signal-deep); color: var(--cream); }
.sav-card--accent a, .sav-card--accent h2, .sav-card--accent h3 { color: var(--cream); }
.sav-card h3 { margin-top: 0; }

/* Rozcestník: riadky s ↗ */
.sav-paths { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--ink); }
.sav-paths li { margin: 0; padding: 0; border-bottom: 1px solid var(--cream-3); }
.sav-paths a { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 0; text-decoration: none; font-weight: 600; font-size: 19px; letter-spacing: -0.015em; color: var(--ink); }
.sav-paths a::after { content: ""; flex: none; width: 16px; height: 16px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231C1A1B' stroke-width='2.5' stroke-linecap='square'><path d='M6 18 18 6M8 6h10v10'/></svg>") no-repeat center / contain; transition: transform 150ms cubic-bezier(.2,.8,.2,1); }
.sav-paths a:hover { color: var(--signal-deep); }
.sav-paths a:hover::after { transform: translate(2px, -2px); }

/* Tlačidlá (core + Neve) */
.wp-block-button__link, .button.button-primary { font-weight: 600; letter-spacing: -0.015em; transition: background 150ms, color 150ms, border-color 150ms; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 2px solid var(--ink); color: var(--ink); background: transparent; }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--ink); color: var(--cream); }
.wp-block-button.is-style-fill .wp-block-button__link, .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--signal-deep); color: var(--cream); border: 2px solid var(--signal-deep); }
.wp-block-button.is-style-fill .wp-block-button__link:hover, .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--ink); border-color: var(--ink); color: var(--cream); }

/* Hlavička */
.header-main-inner { border-bottom: 1px solid var(--cream-3); }
.nv-nav-wrap .nav-ul li a { font-weight: 600; }
.nv-nav-wrap .nav-ul .sub-menu { border: 1px solid var(--cream-3); box-shadow: none; }

/* Kalendár udalostí */
.sav-events__toggle { border-bottom: 2px solid var(--ink); }
.sav-events__toggle a.is-active { border-bottom-color: var(--signal-deep); color: var(--ink); }
.sav-events__month { margin-top: 40px; border-bottom: 2px solid var(--ink); color: var(--ink); font-size: 13px; font-weight: 600; padding-bottom: 8px; }
.sav-event { border-bottom: 1px solid var(--cream-3); padding: 14px 0; }
.sav-event__date { font-family: var(--font-mono); font-size: 14px; font-weight: 500; }
.sav-event__type { font-family: var(--font-mono); font-size: 11px; letter-spacing: var(--tracking-label); color: var(--ink-3); }
.sav-event--deadline .sav-event__type { color: var(--signal-deep); }
.sav-event__title { font-weight: 600; font-size: 18px; letter-spacing: -0.015em; }
.sav-event__title a { text-decoration: none; }
.sav-event__title a:hover { color: var(--signal-deep); text-decoration: underline; }
.sav-event__add { color: var(--ink-3); font-size: 13px; }
.sav-event__add a { color: var(--ink); }
.sav-events__more .button { display: inline-block; padding: 12px 20px; border: 2px solid var(--ink); font-weight: 600; text-decoration: none; }
.sav-events__more .button:hover { background: var(--ink); color: var(--cream); }

/* Plávajúce tlačidlo a dialóg (na širokých obrazovkách je tlačidlo v hlavičke, plávajúce sa skryje) */
@media (min-width: 960px) { .sav-contact-btn { display: none; } }
/* Na úvodnej stránke má hero vlastné tlačidlo Napíšte nám, plávajúce by ho na mobile prekrývalo */
.home .sav-contact-btn { display: none; }
.sav-contact-btn { background: var(--signal-deep); color: var(--cream); font-family: inherit; }
.sav-contact-btn:hover, .sav-contact-btn:focus-visible { background: var(--ink); filter: none; }
.sav-contact-dialog { border: 2px solid var(--ink); background: var(--cream); }
.sav-contact-dialog__head h2 { border: 0; padding: 0; margin: 0; text-transform: uppercase; letter-spacing: var(--tracking-display); }

/* Formuláre (Fluent Forms, Newsletter) */
.fluentform .ff-el-input--label label { font-size: 11px; font-weight: 600; letter-spacing: var(--tracking-label); text-transform: uppercase; }
.fluentform .ff-el-form-control { border: 1px solid var(--ink-4); background: #fff; padding: 10px 12px; }
.fluentform .ff-el-form-control:focus { border-color: var(--ink); box-shadow: none !important; outline: 2px solid var(--signal-deep); outline-offset: 1px; }
.fluentform .ff-btn-submit { background: var(--signal-deep) !important; color: var(--cream) !important; border: 2px solid var(--signal-deep) !important; font-weight: 600; padding: 12px 22px; }
.fluentform .ff-btn-submit:hover { background: var(--ink) !important; border-color: var(--ink) !important; }
.tnp-subscription input[type=email], .tnp-subscription input[type=text] { border: 1px solid var(--ink-4); background: #fff; padding: 10px 12px; }
.tnp-subscription .tnp-submit { background: var(--signal-deep); color: var(--cream); border: 2px solid var(--signal-deep); font-weight: 600; }
.tnp-subscription .tnp-submit:hover { background: var(--ink); border-color: var(--ink); }
.tnp-subscription .tnp-privacy-field label { font-size: 14px; }

/* Archív a články */
.nv-index-posts .nv-post-thumbnail-wrap img, .wp-block-post-featured-image img { border: 1px solid var(--cream-3); }
.blog-entry-title a, .wp-block-post-title a { text-decoration: none; letter-spacing: -0.015em; }
.blog-entry-title a:hover, .wp-block-post-title a:hover { color: var(--signal-deep); }
.wp-block-post-template { gap: 32px; }

/* Pätička s podpisom */
.sav-contact-block { border-top: 2px solid var(--ink); position: relative; overflow: hidden; }
.sav-contact-block__inner { max-width: var(--container, 1120px); margin: 0 auto; padding: 64px 20px; position: relative; }
.sav-contact-block p { margin: 0 0 16px; font-size: 22px; line-height: 1.35; letter-spacing: -0.015em; max-width: 560px; }
.sav-contact-block__sig { font-style: italic; font-size: 20px; margin-top: 24px !important; }
.sav-contact-block::after { content: ""; position: absolute; right: -70px; bottom: -70px; width: 200px; height: 200px; background: var(--sav-starburst) no-repeat center / contain; pointer-events: none; }
.sav-contact-block a.sav-contact-link { font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.sav-contact-block a.sav-contact-link:hover { color: var(--signal-deep); }
.footer-menu .nav-ul li a { font-size: 14px; }
.hfg-copyright, .footer_copyright { font-size: 14px; color: var(--ink-3); }


/* Prístupnosť: skip link a viditeľný focus v menu */
.nv-nav-wrap a:focus-visible, .wp-block-button__link:focus-visible { outline: 2px solid var(--signal-deep); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Udalosť vo výsledkoch vyhľadávania: bez dátumu zverejnenia, ten by miatol */
.search .type-sav_event .nv-meta-list { display: none; }

/* Programy: farebné odlíšenie ERC / MSCA / Impulz (karty aj kalendár), požiadavka SAV 17. 9. 2026 */
.sav-card--erc, .sav-card--msca, .sav-card--impulz { border-top: 4px solid var(--ink) !important; transition: background 150ms, border-color 150ms; }
.sav-card--erc { border-top-color: var(--prog-erc) !important; }
.sav-card--msca { border-top-color: var(--prog-msca) !important; }
.sav-card--impulz { border-top-color: var(--prog-impulz) !important; }
.sav-card--erc h3, .sav-card--erc h2 { color: var(--prog-erc); }
.sav-card--msca h3, .sav-card--msca h2 { color: var(--prog-msca); }
.sav-card--impulz h3, .sav-card--impulz h2 { color: var(--prog-impulz); }
.sav-card--erc:hover { background: var(--prog-erc-tint); }
.sav-card--msca:hover { background: var(--prog-msca-tint); }
.sav-card--impulz:hover { background: var(--prog-impulz-tint); }
.sav-card--erc .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--prog-erc); color: var(--prog-erc); }
.sav-card--msca .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--prog-msca); color: var(--prog-msca); }
.sav-card--impulz .wp-block-button.is-style-outline .wp-block-button__link { border-color: var(--prog-impulz); color: var(--prog-impulz); }
.sav-card--erc .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--prog-erc); color: var(--cream); }
.sav-card--msca .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--prog-msca); color: var(--cream); }
.sav-card--impulz .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--prog-impulz); color: var(--cream); }
.sav-card--erc h2, .sav-card--msca h2, .sav-card--impulz h2 { border-top: 0; padding-top: 0; margin-top: 0; }
.sav-tagline { font-size: 22px; line-height: 1.3; letter-spacing: -0.015em; font-weight: 600; margin: 0 0 12px; }
.sav-event { border-left: 4px solid transparent; padding-left: 12px; }
.sav-event--prog-erc { border-left-color: var(--prog-erc); }
.sav-event--prog-msca { border-left-color: var(--prog-msca); }
.sav-event--prog-impulz { border-left-color: var(--prog-impulz); }
.sav-event__program { display: inline-block; padding: 2px 6px; margin-right: 6px; color: var(--cream); background: var(--ink); font-weight: 600; letter-spacing: var(--tracking-label); }
.sav-event--prog-erc .sav-event__program { background: var(--prog-erc); }
.sav-event--prog-msca .sav-event__program { background: var(--prog-msca); }
.sav-event--prog-impulz .sav-event__program { background: var(--prog-impulz); }
.sav-events__legend { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: 12px 0 0; padding: 0; list-style: none; font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: var(--tracking-label); }
.sav-events__legend li { margin: 0; }
.sav-events__legend li::before { content: ""; display: inline-block; width: 10px; height: 10px; margin-right: 6px; vertical-align: -1px; background: var(--ink); }
.sav-events__legend .is-erc::before { background: var(--prog-erc); }
.sav-events__legend .is-msca::before { background: var(--prog-msca); }
.sav-events__legend .is-impulz::before { background: var(--prog-impulz); }
/* Tím na stránke Kontakt */
.sav-team { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin: 0 0 24px; padding: 0; list-style: none; }
.sav-team li { margin: 0; border-top: 2px solid var(--ink); padding-top: 12px; }
.sav-team li.is-erc { border-top-color: var(--prog-erc); }
.sav-team li.is-msca { border-top-color: var(--prog-msca); }
.sav-team li.is-impulz { border-top-color: var(--prog-impulz); }
.sav-team li.is-msca.is-impulz { border-image: linear-gradient(90deg, var(--prog-msca) 50%, var(--prog-impulz) 50%) 1; }
.sav-team p { margin: 0 0 4px; }
.sav-team__name { font-weight: 600; font-size: 18px; letter-spacing: -0.015em; }
.sav-team__role { color: var(--ink-3); font-size: 15px; }
.sav-team img { width: 100%; max-width: 200px; aspect-ratio: 1; object-fit: cover; margin-bottom: 12px; border: 1px solid var(--cream-3); }
/* Tabuľka oprávnenosti ERC */
.entry-content table.sav-table { border-collapse: collapse; width: 100%; font-size: 15px; margin: 0 0 16px; }
.entry-content table.sav-table th, .entry-content table.sav-table td { border: 1px solid var(--cream-3); padding: 8px 10px; text-align: left; vertical-align: top; }
.entry-content table.sav-table th { background: var(--cream-2); font-family: var(--font-mono); font-size: 12px; text-transform: uppercase; letter-spacing: var(--tracking-label); font-weight: 600; }

/* Služby: číslovaný zoznam podpory 01–08 (pre-award, požiadavka SAV 25. 9. 2026) */
.entry-content ol.sav-support { list-style: none; counter-reset: sav-support; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0 40px; }
@media (min-width: 720px) { .entry-content ol.sav-support { grid-template-columns: 1fr 1fr; } }
.entry-content ol.sav-support li { counter-increment: sav-support; position: relative; margin: 0; padding: 16px 0 16px 56px; border-top: 1px solid var(--cream-3); }
.entry-content ol.sav-support li::before { content: counter(sav-support, decimal-leading-zero); position: absolute; left: 0; top: 14px; font-size: 24px; font-weight: 700; letter-spacing: var(--tracking-display); color: var(--signal-deep); }
.entry-content ol.sav-support strong { display: block; margin-bottom: 4px; font-size: 18px; font-weight: 600; letter-spacing: -0.015em; }

/* O nás: hodnoty (požiadavka SAV 29. 9. 2026) */
.entry-content ul.sav-values { list-style: none; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0 40px; }
@media (min-width: 720px) { .entry-content ul.sav-values { grid-template-columns: 1fr 1fr; } }
.entry-content ul.sav-values li { margin: 0; padding: 16px 0 16px 20px; border-top: 1px solid var(--cream-3); position: relative; }
.entry-content ul.sav-values li::before { content: ""; position: absolute; left: 0; top: 24px; width: 8px; height: 8px; background: var(--signal-deep); }
.entry-content ul.sav-values strong { display: block; margin-bottom: 4px; font-size: 18px; font-weight: 600; letter-spacing: -0.015em; }
