/* ============================================================
   calendar.css - style Kalendarza Imprez (PM/3/2026)
   Ladowane TYLKO na stronach kalendarza/wydarzen (przez registerCssFile).
   ============================================================ */

/* === Kalendarz Imprez (PM/3/2026) - wyróżnienie sekcji wydarzeń + slider 8 kafelków + CTA === */
.gd-events-highlight {
	background-color: #EEF4F8;
	padding-top: 40px;
	padding-bottom: 40px;
	border-radius: 8px;
}

/* Home: widget "Kalendarz imprez" (motyw frontend) - wyróżnienie + akcent nagłówka */
.events-calendar.gd-events-highlight {
	padding-left: 25px;
	padding-right: 25px;
}

.events-calendar.gd-events-highlight .gd-category-filter {
	background-color: #fff;
}

.events-calendar .gd-home-page-show-more-bar h2 {
	position: relative;
	padding-left: 18px;
}

.events-calendar .gd-home-page-show-more-bar h2::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 6px;
	border-radius: 3px;
	background-color: #202c4f;
}

.gd-events-highlight .gd-home-page-show-more-bar h2 {
	position: relative;
	padding-left: 18px;
}

.gd-events-highlight .gd-home-page-show-more-bar h2::before {
	content: '';
	position: absolute;
	left: 0;
	top: 6px;
	bottom: 6px;
	width: 6px;
	border-radius: 3px;
	background-color: #202c4f;
}

.gd-events-highlight .gd-home-page-events-block {
	background-color: #fff;
	border-radius: 6px;
}

/* odstępy między slajdami slidera home */
.gd-events-slick .slick-slide {
	height: inherit;
}

.gd-events-slick .slick-slide > div,
.gd-events-slick .slick-track {
	display: flex;
}

.gd-events-slick.slick-initialized .slick-slide {
	padding: 0 12px;
	height: auto;
}

.gd-events-slick .slick-list {
	margin: 0 -12px;
}

/* kafelek CTA "Pokaż wszystkie wydarzenia" - dedykowane klasy gdcal-cta (bez kolizji) */
.gdcal-cta {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	min-height: 100%;
	background-color: #202c4f;
	border-radius: 14px;
	padding: 24px;
	text-decoration: none;
	transition: background-color .25s ease;
}

.gdcal-cta:hover,
.gdcal-cta:focus {
	background-color: #2c3a66;
}

.gdcal-cta .gdcal-cta-icon {
	display: block;
	margin: 0 0 16px 0;
	line-height: 0;
}

.gdcal-cta .gdcal-cta-icon svg {
	width: 40px;
	height: 40px;
}

.gdcal-cta .gdcal-cta-title {
	display: block;
	color: #fff !important;
	font-size: 20px;
	font-weight: 700;
	line-height: 28px;
	margin-bottom: 18px;
}

.gdcal-cta .gdcal-cta-arrow {
	display: inline-flex;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	align-items: center;
	justify-content: center;
}

.gdcal-cta .gdcal-cta-arrow::after {
	content: '';
	width: 10px;
	height: 10px;
	border-top: 2px solid #202c4f;
	border-right: 2px solid #202c4f;
	transform: rotate(45deg);
	margin-left: -3px;
}

/* === Kalendarz Imprez (PM/3/2026) pkt 3: szybkie filtry dat + liczniki + sticky pasek mobile === */
.gd-quick-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin: 15px 0;
}

.gd-quick-filters-label {
	color: #686d87;
	font-weight: 600;
	font-size: 14px;
}

.gd-quick-chip {
	appearance: none;
	-webkit-appearance: none;
	border: 1px solid #202c4f;
	background: #fff;
	color: #202c4f;
	border-radius: 20px;
	padding: 6px 16px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.gd-quick-chip:hover,
.gd-quick-chip:focus {
	background: #eef4f8;
	outline: 2px solid transparent;
}

.gd-quick-chip:focus-visible {
	outline: 2px solid #01a1c1;
	outline-offset: 2px;
}

.gd-quick-chip.active {
	background: #202c4f;
	color: #fff;
}

.gd-quick-chip .gd-quick-count {
	font-weight: 400;
	opacity: .85;
}

.gd-results-count {
	color: #202c4f;
	font-size: 16px;
	margin: 10px 0 20px;
}

.gd-mobile-filter-bar {
	display: none;
}

@media (max-width: 991px) {
	.gd-mobile-filter-bar {
		display: block;
		position: sticky;
		top: 0;
		z-index: 200;
		background: #fff;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .12);
		padding: 10px 15px;
	}

	/* Fallback gdy position:sticky nie dziala (przodek z overflow-x:hidden) - przelaczane JS-em */
	.gd-mobile-filter-bar.is-fixed {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
	}

	.gd-mobile-filter-bar-form {
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		align-items: center;
	}

	.gd-mobile-filter-bar-form select {
		flex: 1 1 100%;
		padding: 8px;
		border: 1px solid #686d87;
		font-size: 14px;
	}

	.gd-mobile-filter-bar .gd-quick-filters {
		margin: 0;
		flex: 1 1 auto;
		gap: 8px;
	}

	.gd-mobile-filter-bar .gd-quick-chip {
		padding: 6px 12px;
		font-size: 13px;
	}

	.gd-mobile-filter-submit {
		appearance: none;
		-webkit-appearance: none;
		border: 0;
		background: #202c4f;
		color: #fff;
		padding: 9px 18px;
		font-weight: 600;
		border-radius: 4px;
		flex: 0 0 auto;
	}
}

/* === Kalendarz Imprez (PM/3/2026) pkt 4: przycisk "Więcej wydarzeń" === */
.gd-load-more-wrap {
	text-align: center;
	margin: 30px 0;
}

.gd-load-more {
	appearance: none;
	-webkit-appearance: none;
	border: 2px solid #202c4f;
	background: #202c4f;
	color: #fff;
	padding: 14px 40px;
	font-size: 17px;
	font-weight: 700;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease;
}

.gd-load-more:hover,
.gd-load-more:focus {
	background: #fff;
	color: #202c4f;
}

.gd-load-more:focus-visible {
	outline: 2px solid #01a1c1;
	outline-offset: 2px;
}

.gd-load-more[disabled] {
	opacity: .6;
	cursor: default;
}

/* pkt 5: uproszczony kafelek listy (bez opisu) - równa wysokość, dosunięta strzałka */
.gd-event-card-simple {
	height: 100%;
}

.gd-event-card-simple h3 {
	margin-bottom: 10px;
}

.gd-event-card-simple .gd-read-more {
	margin-top: auto;
}

/* === Kalendarz Imprez (PM/3/2026) pkt 6: prawa kolumna (kategorie + sortowanie) === */
.gd-calendar-sidebar {
	padding-left: 25px;
}

.gd-sidebar-box {
	background-color: #eef4f8;
	padding: 20px;
	margin-bottom: 25px;
	border-radius: 6px;
}

.gd-sidebar-title {
	color: #202c4f;
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 15px;
}

.gd-sidebar-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gd-sidebar-list li {
	margin: 0;
	border-bottom: 1px solid #dce6ee;
}

.gd-sidebar-list li:last-child {
	border-bottom: 0;
}

.gd-sidebar-list a {
	display: block;
	padding: 10px 12px;
	color: #202c4f;
	font-weight: 600;
	text-decoration: none;
	border-radius: 4px;
	transition: background-color .2s ease, color .2s ease;
}

.gd-sidebar-list a:hover,
.gd-sidebar-list a:focus {
	background-color: #fff;
}

.gd-sidebar-list a.active {
	background-color: #202c4f;
	color: #fff;
}

@media (max-width: 991px) {
	.gd-calendar-sidebar {
		padding-left: 12px;
		margin-top: 20px;
	}
}

/* === Kalendarz Imprez (PM/3/2026) pkt 7: komponent "Zgłoś wydarzenie" === */
.gdcal-submit {
	background-color: #eef4f8;
	color: #202c4f;
	padding: 25px;
	border: 1px solid #dce6ee;
	border-left: 4px solid #01a1c1;
	border-radius: 10px;
	margin: 30px 0;
}

.gdcal-submit-title {
	color: #202c4f;
	font-weight: 700;
	font-size: 21px;
	margin-bottom: 12px;
}

.gdcal-submit-text {
	color: #686d87;
	font-size: 16px;
	margin-bottom: 18px;
}

/* selektor 2-klasowy + !important pobija globalne .gd-article-news a (kolizja koloru linkow) */
.gdcal-submit .gdcal-submit-btn {
	display: inline-block;
	background-color: #202c4f;
	color: #fff !important;
	font-weight: 700;
	padding: 12px 28px;
	border-radius: 8px;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease;
}

.gdcal-submit .gdcal-submit-btn:hover,
.gdcal-submit .gdcal-submit-btn:focus {
	background-color: #01a1c1;
	color: #fff !important;
}

.gdcal-submit-btn:focus-visible {
	outline: 2px solid #01a1c1;
	outline-offset: 2px;
}

/* w sidebarze kalendarza komponent bez dużych marginesów */
.gd-calendar-sidebar .gdcal-submit {
	margin: 0 0 25px;
}

/* === Kalendarz Imprez (PM/3/2026) pkt 8: disclaimer pod wydarzeniem === */
.gd-event-disclaimer {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background-color: #eef4f8;
	border-left: 4px solid #686d87;
	padding: 16px 20px;
	margin: 30px 0;
	border-radius: 4px;
}

.gd-event-disclaimer-icon {
	width: 24px;
	height: 24px;
	margin-top: 2px;
	flex: 0 0 auto;
}

.gd-event-disclaimer p {
	margin: 0;
	color: #686d87;
	font-size: 14px;
	line-height: 22px;
}

.gd-event-disclaimer p + p { margin-top: 10px; }

.gd-event-disclaimer a {
	color: #202c4f;
	text-decoration: underline;
	font-weight: 600;
}

/* ============================================================
   Kalendarz Imprez (PM/3/2026) - WOW visual polish + formularz
   ============================================================ */

/* --- Karty wydarzen: cien, hover-lift, zoom zdjecia, ladne badge --- */
.gd-calendar-events .gd-home-page-events-block,
.gd-events-highlight .gd-home-page-events-block {
	background: #fff;
	border: 1px solid #e6eef5;
	border-radius: 14px;
	box-shadow: 0 4px 14px rgba(32, 44, 79, .07);
	transition: box-shadow .25s ease, border-color .25s ease;
	overflow: visible;
	padding: 16px;
}

.gd-calendar-events article > a:hover .gd-home-page-events-block,
.gd-calendar-events article:hover .gd-home-page-events-block,
.gd-events-highlight article:hover .gd-home-page-events-block {
	box-shadow: 0 14px 30px rgba(32, 44, 79, .16);
	border-color: #bcd4e8;
}

.gd-calendar-events .gd-home-page-events-block-icons,
.gd-events-highlight .gd-home-page-events-block-icons {
	border-radius: 10px;
	overflow: hidden;
	position: relative;
}

.gd-calendar-events .gd-home-page-events-block-image,
.gd-events-highlight .gd-home-page-events-block-image {
	border-radius: 10px;
	transition: transform .45s ease;
	display: block;
}

/* (zoom zdjęcia na hover usunięty - hover oparty wyłącznie o cień, bez transformów) */

/* badge daty i kategorii na karcie */
.gd-calendar-events .gd-home-page-events-block-icons time.news-date,
.gd-calendar-events .gd-home-page-events-block-icons p.news-date,
.gd-events-highlight .gd-home-page-events-block-icons time.news-date,
.gd-events-highlight .gd-home-page-events-block-icons p.news-date {
	background: #eef4f8;
	color: #202c4f !important; /* odporne na globalny a:hover */
	border-radius: 8px;
	font-weight: 600;
	font-size: 13px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px;
	margin: 8px 8px 0 0;
}

.gd-calendar-events .gd-home-page-events-block-icons p.news-date,
.gd-events-highlight .gd-home-page-events-block-icons p.news-date {
	background: #202c4f;
	color: #fff !important; /* badge kategorii: biały tekst, odporny na a:hover */
}

.gd-calendar-events .gd-home-page-events-block h3,
.gd-events-highlight .gd-home-page-events-block h3 {
	margin-top: 14px;
	font-size: 19px;
	line-height: 26px;
	color: #202c4f !important; /* nie dziedzicz bialego koloru z globalnego a:hover */
}

/* strzalka "wiecej" jako okragly przycisk - stala (granat + biala strzalka), bez zmian na hover */
.gd-calendar-events .gd-read-more,
.gd-events-highlight .gd-read-more {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #202c4f;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 14px;
	flex: 0 0 auto;
}

/* PNG strzalki (50x50) wypelnial cale kolo i po invert robil sie bialym blobem - rysujemy strzalke czystym CSS */
.gd-calendar-events .gd-read-more img,
.gd-events-highlight .gd-read-more img {
	display: none;
}

.gd-calendar-events .gd-read-more::after,
.gd-events-highlight .gd-read-more::after {
	content: '\2192';
	color: #fff !important;
	font-size: 22px;
	line-height: 1;
	font-weight: 700;
}

/* --- Hero kalendarza: zdjecie na 100% szerokosci --- */
.gd-calendar-hero-img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 12px;
}

/* --- Pasek filtrow kalendarza: nowoczesne, biale pola --- */
.full-calendar .gd-news-article-searcher-content {
	gap: 12px;
	align-items: stretch;
	flex-wrap: wrap;
	padding: 22px;
}

.full-calendar .gd-news-article-searcher-content > input[name="query"] { flex: 2 1 220px; }
.full-calendar .gd-news-article-searcher-content > select { flex: 1 1 180px; }
.full-calendar .gd-news-article-searcher-content > input.gd-searcher-date { flex: 1 1 150px; max-width: none; }

.full-calendar .gd-news-article-searcher-content input,
.full-calendar .gd-news-article-searcher-content select {
	border: 1px solid #d4dee8;
	border-radius: 10px;
	padding: 13px 16px;
	font-size: 14px;
	background-color: #fff;
	height: 50px;
	color: #202c4f;
	box-shadow: 0 1px 2px rgba(32, 44, 79, .04);
}

.full-calendar .gd-news-article-searcher-content input:focus,
.full-calendar .gd-news-article-searcher-content select:focus {
	outline: none;
	border-color: #01a1c1;
	box-shadow: 0 0 0 3px rgba(1, 161, 193, .15);
}

.full-calendar .gd-news-article-searcher-content button.submit {
	background: #202c4f;
	color: #fff;
	border: 0;
	border-radius: 10px;
	padding: 0 34px;
	height: 50px;
	font-weight: 700;
	font-size: 15px;
	flex: 0 0 auto;
	cursor: pointer;
	transition: background .2s ease;
}

.full-calendar .gd-news-article-searcher-content button.submit:hover { background: #01a1c1; }

/* odstep szybkich filtrow wewnatrz panelu (margines/padding) */
.full-calendar .gd-quick-filters {
	padding: 16px 22px 18px;
	margin: 0;
}

/* "Wyczysc filtry" */
.gd-clear-filters-wrap {
	padding: 0 22px 18px;
	margin-top: -8px;
}

.gd-clear-filters {
	color: #686d87;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.gd-clear-filters:hover,
.gd-clear-filters:focus {
	color: #d6336c;
	text-decoration: underline;
}

.gd-clear-filters-mobile {
	flex: 0 0 auto;
	padding: 9px 10px;
}

.gd-calendar-events #mainContent { scroll-margin-top: 80px; }

/* nizsze, bardziej zwarte zdjecia kart wydarzen */
.gd-calendar-events .gd-home-page-events-block-icons .gd-home-page-events-block-image,
.gd-events-highlight .gd-home-page-events-block-icons .gd-home-page-events-block-image {
	height: 200px;
}

/* --- Formularz "Zglos wydarzenie" --- */
.gd-add-event-wrap {
	max-width: 880px;
	margin: 40px auto 60px;
}

.gd-add-event-hero {
	text-align: center;
	margin-bottom: 30px;
}

.gd-add-event-hero h1 {
	color: #202c4f;
	font-weight: 700;
	font-size: 38px;
	margin-bottom: 14px;
}

.gd-add-event-hero p {
	color: #686d87;
	font-size: 17px;
	line-height: 27px;
	max-width: 680px;
	margin: 0 auto;
}

.gd-add-event-form {
	background: #fff;
	border: 1px solid #e6eef5;
	border-radius: 16px;
	box-shadow: 0 6px 24px rgba(32, 44, 79, .08);
	padding: 30px;
}

.gd-add-event-form fieldset {
	border: 0;
	border-top: 1px solid #eef4f8;
	padding: 22px 0 4px;
	margin: 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
}

.gd-add-event-form fieldset:first-of-type { border-top: 0; padding-top: 0; }

.gd-add-event-form legend {
	grid-column: 1 / -1;
	color: #202c4f;
	font-weight: 700;
	font-size: 18px;
	margin-bottom: 4px;
	float: none;
	width: auto;
}

.gd-add-event-form .gd-field { display: flex; flex-direction: column; }
.gd-add-event-form .gd-field-full { grid-column: 1 / -1; }

.gd-add-event-form label {
	color: #202c4f;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
}

.gd-add-event-form .req { color: #d6336c; }

.gd-add-event-form input[type="text"],
.gd-add-event-form input[type="email"],
.gd-add-event-form input[type="url"],
.gd-add-event-form input[type="datetime-local"],
.gd-add-event-form input[type="file"],
.gd-add-event-form select,
.gd-add-event-form textarea {
	border: 1px solid #cdd9e3;
	border-radius: 8px;
	padding: 11px 13px;
	font-size: 15px;
	color: #202c4f;
	background: #fff;
	width: 100%;
	transition: border-color .2s ease, box-shadow .2s ease;
}

.gd-add-event-form input:focus,
.gd-add-event-form select:focus,
.gd-add-event-form textarea:focus {
	outline: none;
	border-color: #01a1c1;
	box-shadow: 0 0 0 3px rgba(1, 161, 193, .15);
}

.gd-add-event-form .gd-check label {
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
	font-weight: 400;
	color: #495057;
	cursor: pointer;
}

.gd-add-event-form .gd-check input { width: auto; margin-top: 3px; }

.gd-add-event-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 26px;
}

.gd-req-note { color: #686d87; font-size: 13px; margin: 0; }

.gd-add-event-btn {
	display: inline-block;
	background: #202c4f;
	color: #fff !important; /* odporne na globalny a{color} */
	border: 0;
	font-weight: 700;
	font-size: 16px;
	padding: 14px 36px;
	border-radius: 8px;
	cursor: pointer;
	text-decoration: none;
	transition: background .2s ease, transform .15s ease;
}

.gd-add-event-btn:hover,
.gd-add-event-btn:focus { background: #01a1c1; color: #fff !important; transform: translateY(-2px); }

.gd-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.gd-add-event-errors {
	background: #fff0f3;
	border: 1px solid #f3c0cd;
	color: #a61e4d;
	border-radius: 10px;
	padding: 16px 20px;
	margin-bottom: 24px;
}
.gd-add-event-errors ul { margin: 8px 0 0; padding-left: 20px; }

.gd-add-event-success {
	background: #fff;
	border: 1px solid #c3e6cb;
	border-radius: 16px;
	box-shadow: 0 6px 24px rgba(32, 44, 79, .08);
	padding: 50px 30px;
	text-align: center;
}
.gd-add-event-success-icon {
	width: 70px; height: 70px;
	border-radius: 50%;
	background: #2f9e44;
	color: #fff;
	font-size: 38px;
	line-height: 70px;
	margin: 0 auto 20px;
}
.gd-add-event-success h2 { color: #202c4f; font-weight: 700; margin-bottom: 12px; }
.gd-add-event-success p { color: #686d87; font-size: 16px; margin-bottom: 24px; }

/* --- Strzalki slidera wydarzen na home: dedykowane klasy gdcal-arrow (bez kolizji ze slick/PNG) --- */
.events-calendar .div-just-for-slider-events { position: relative; }

.events-calendar .gdcal-arrow {
	position: absolute;
	top: 65px;
	transform: translateY(-50%);
	z-index: 6;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #202c4f;
	border: 0;
	padding: 0;
	font-size: 0;
	line-height: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
}

.events-calendar .gdcal-arrow-prev { left: 10px; }
.events-calendar .gdcal-arrow-next { right: 10px; }

/* chevron rysowany CSS - bez PNG, bez glifu fontu slick (wyzsza specyficznosc pobija slick.css) */
.events-calendar .gdcal-arrow::before {
	content: '' !important;
	display: inline-block;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	font-size: 0;
}

.events-calendar .gdcal-arrow-prev::before { transform: rotate(-135deg); margin-left: 4px; }
.events-calendar .gdcal-arrow-next::before { transform: rotate(45deg); margin-right: 4px; }

.events-calendar .gdcal-arrow.slick-disabled { display: none; }

/* Telefony (1-2 karty na full-width): chowamy strzalki slidera - nawigacja swipem.
   Przy szerokiej karcie strzalki na bokach/nad trescia wygladaly "w zlym miejscu"
   (spadaly pod naglowek sekcji). Na tablecie/desktopie (>=768px, 4-8 kart) strzalki
   zostaja (top:65px, wysrodkowane na zdjeciu karty). */
@media (max-width: 767px) {
	.events-calendar .gdcal-arrow,
	.events-calendar .gdcal-arrow-prev,
	.events-calendar .gdcal-arrow-next { display: none !important; }
}

@media (max-width: 767px) {
	.gd-add-event-form fieldset { grid-template-columns: 1fr; }
	.gd-add-event-form { padding: 20px; }
	.gd-add-event-hero h1 { font-size: 30px; }
}

/* === Karta wydarzenia w widgecie home (kompaktowa, dopracowana - 8 na desktop) === */
.gdcal-ev-col { padding: 0 8px; box-sizing: border-box; }

a.gdcal-ev-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: #fff;
	border: 1px solid #e6eef5;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(32, 44, 79, .07);
	text-decoration: none;
	transition: box-shadow .2s ease, transform .2s ease;
}

a.gdcal-ev-card:hover,
a.gdcal-ev-card:focus {
	box-shadow: 0 12px 26px rgba(32, 44, 79, .16);
	transform: translateY(-4px);
}

.gdcal-ev-media {
	position: relative;
	display: block;
	height: 130px;
	background: #eef4f8;
	overflow: hidden;
}

.gdcal-ev-img { width: 100%; height: 100%; object-fit: cover; display: block; }

.gdcal-ev-datebadge {
	position: absolute;
	left: 10px;
	bottom: 10px;
	background: #202c4f;
	color: #fff !important;
	font-size: 12px;
	font-weight: 700;
	padding: 5px 10px;
	border-radius: 6px;
}

.gdcal-ev-body {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 14px;
	flex: 1 1 auto;
}

.gdcal-ev-cat {
	color: #01a1c1 !important;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .4px;
}

.gdcal-ev-title {
	color: #202c4f !important;
	font-size: 15px;
	font-weight: 700;
	line-height: 21px;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gdcal-ev-go {
	margin-top: auto;
	align-self: flex-end;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #202c4f;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
}

.gdcal-ev-go::after {
	content: '';
	width: 8px;
	height: 8px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(45deg);
	margin-left: -2px;
}

a.gdcal-ev-card:hover .gdcal-ev-go { background: #01a1c1; }

/* Lista kalendarza: wyzsze zdjecie (karty szersze - 3 w rzedzie) + odstepy w siatce */
.gd-calendar-events .gdcal-ev-media { height: 180px; }
.gd-calendar-events #events-list { row-gap: 24px; }

/* === Lista kalendarza: nadpisanie globalnego granatowego hovera karty (main.css .gd-home-page-events-block:hover) === */
/* Zostawiamy biala karte + cien; chipy daty/kategorii czytelne, tytul granatowy */
.gd-calendar-events .gd-home-page-events-block:hover {
	background-color: #fff !important;
}

.gd-calendar-events .gd-home-page-events-block:hover h3 {
	color: #202c4f !important;
}

.gd-calendar-events .gd-home-page-events-block:hover .gd-home-page-events-block-icons time.news-date {
	background: #eef4f8 !important;
	color: #202c4f !important;
}

.gd-calendar-events .gd-home-page-events-block:hover .gd-home-page-events-block-icons p.news-date {
	background: #202c4f !important;
	color: #fff !important;
}

/* === Rowne wysokosci kart w sliderze home (flex track slicka) === */
.events-calendar .div-just-for-slider-events.slick-initialized .slick-track {
	display: flex;
	align-items: stretch;
}

.events-calendar .div-just-for-slider-events .slick-slide {
	height: auto;
}

.events-calendar .div-just-for-slider-events .slick-slide > div {
	display: flex;
	height: 100%;
}

.events-calendar .gdcal-ev-col {
	display: flex;
	height: auto;
	width: 100%;
}

.events-calendar a.gdcal-ev-card { width: 100%; }

/* === Loader widgetu home podczas ladowania wydarzen (bez "gigantycznej" karty) === */
.gdcal-cal-loading {
	width: 100%;
	min-height: 220px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.gdcal-cal-spinner {
	width: 36px;
	height: 36px;
	border: 3px solid #dce6ee;
	border-top-color: #202c4f;
	border-radius: 50%;
	animation: gdcalspin .8s linear infinite;
}

@keyframes gdcalspin { to { transform: rotate(360deg); } }
