/* ==========================================================================
   PODHALE — KALENDARZ WYDARZEŃ — style front-end (mobile-first)
   Te same tokeny kolorów co w Katalogu Firm, dla spójności marki.
   ========================================================================== */

:root {
	--pod-navy: #122238;
	--pod-turquoise: #1c4a4a;
	--pod-yellow: #ffcc33;
	--pod-white: #ffffff;
}

.podhale-wydarzenia-single,
.podhale-wydarzenia {
	background: var(--pod-white);
}
.podhale-wydarzenia-single *,
.podhale-wydarzenia * {
	box-sizing: border-box;
}

.pkw-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(20px, 4vw, 48px) clamp(16px, 4vw, 32px);
}

.pkw-header h1 {
	font-size: clamp(26px, 5vw, 40px);
	color: var(--pod-navy);
	margin: 0 0 8px;
}
.pkw-header p { color: #445; margin: 0 0 20px; }

/* --------------------------------------------------------------------
   Przełącznik widoków: lista / kalendarz / mapa
   -------------------------------------------------------------------- */
.pkw-tabs {
	display: flex;
	gap: 8px;
	margin-bottom: 20px;
	border-bottom: 2px solid #e5e9ec;
}
.pkw-tabs a {
	padding: 10px 18px;
	font-weight: 700;
	color: #5b6b7a;
	text-decoration: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -2px;
}
.pkw-tabs a.is-active {
	color: var(--pod-turquoise);
	border-bottom-color: var(--pod-yellow);
}

/* --------------------------------------------------------------------
   Filtry
   -------------------------------------------------------------------- */
.pkw-filtry {
	background: #f6f8f7;
	border-radius: 10px;
	padding: 16px;
	margin-bottom: 24px;
}
.pkw-filtry__row {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	align-items: center;
}
.pkw-filtry select,
.pkw-filtry input[type="text"],
.pkw-filtry input[type="date"] {
	padding: 8px 10px;
	border: 1px solid #d7dedb;
	border-radius: 6px;
}
.pkw-wyczysc { align-self: center; color: var(--pod-turquoise); text-decoration: underline; }

.podhale-btn {
	display: inline-block;
	background: var(--pod-turquoise);
	color: #fff;
	padding: 10px 20px;
	border-radius: 8px;
	font-weight: 700;
	text-decoration: none;
	border: 0;
	cursor: pointer;
}
.podhale-btn--outline {
	background: transparent;
	color: var(--pod-turquoise);
	border: 2px solid var(--pod-turquoise);
}

/* --------------------------------------------------------------------
   Lista — karty wydarzeń
   -------------------------------------------------------------------- */
.pkw-lista-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}
.pkw-karta {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #e5e9ec;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .15s ease, transform .15s ease;
}
.pkw-karta:hover { box-shadow: 0 8px 24px rgba(18,34,56,.12); transform: translateY(-2px); }
.pkw-karta__media { position: relative; aspect-ratio: 4/3; background: var(--pod-navy); }
.pkw-karta__media img { width: 100%; height: 100%; object-fit: cover; }
.pkw-karta__brak-zdjecia { display:flex; align-items:center; justify-content:center; height:100%; color:#fff; font-weight:700; opacity:.6; }
.pkw-karta__data {
	position: absolute; top: 10px; left: 10px;
	background: var(--pod-yellow); color: var(--pod-navy);
	font-weight: 800; border-radius: 6px; padding: 4px 8px; font-size: 13px;
}
.pkw-karta__body { padding: 14px; }
.pkw-karta__kategoria { font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--pod-turquoise); font-weight: 700; }
.pkw-karta__nazwa { font-size: 18px; margin: 4px 0 6px; color: var(--pod-navy); }
.pkw-karta__meta { font-size: 14px; color: #5b6b7a; margin: 2px 0; }
.pkw-brak-wynikow { padding: 40px 0; text-align: center; color: #5b6b7a; }

/* --------------------------------------------------------------------
   Paginacja listy (wyjście natywnej funkcji WP paginate_links) —
   bez tych reguł linki "1 2 Następne »" wychodzą jako gołe, ledwo
   widoczne teksty zamiast wyglądać na klikalne przyciski.
   -------------------------------------------------------------------- */
.pkw-paginacja {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 32px;
}
.pkw-paginacja .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	min-height: 44px;
	padding: 0 16px;
	border-radius: 8px;
	background: var(--pod-white);
	border: 2px solid #e5e9ec;
	color: var(--pod-navy);
	font-weight: 700;
	text-decoration: none;
}
.pkw-paginacja .page-numbers:hover {
	border-color: var(--pod-turquoise);
	color: var(--pod-turquoise);
}
.pkw-paginacja .page-numbers.current {
	background: var(--pod-yellow);
	border-color: var(--pod-yellow);
	color: var(--pod-navy);
}
.pkw-paginacja .page-numbers.dots {
	border: none;
	background: none;
	min-width: auto;
}

/* --------------------------------------------------------------------
   Kalendarz miesięczny
   -------------------------------------------------------------------- */
.pkw-kalendarz-nav { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.pkw-kalendarz-nav h2 { margin:0; color: var(--pod-navy); text-transform: capitalize; }
.pkw-kalendarz {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
}
.pkw-kalendarz__naglowek { font-weight: 700; text-align: center; color: #5b6b7a; font-size: 13px; padding-bottom: 6px; }
.pkw-kalendarz__dzien {
	min-height: 90px;
	border: 1px solid #e5e9ec;
	border-radius: 8px;
	padding: 6px;
	font-size: 12px;
}
.pkw-kalendarz__dzien--puste { background: #fafbfb; border-color: transparent; }
.pkw-kalendarz__dzien--dzis { border-color: var(--pod-yellow); border-width: 2px; }
.pkw-kalendarz__numer { font-weight: 700; color: var(--pod-navy); display:block; margin-bottom:4px; }
.pkw-kalendarz__wydarzenie {
	display: block;
	background: var(--pod-turquoise);
	color: #fff;
	border-radius: 4px;
	padding: 2px 5px;
	margin-bottom: 3px;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pkw-kalendarz__wiecej { color: #5b6b7a; font-size: 11px; }

@media (max-width: 680px) {
	.pkw-kalendarz { grid-template-columns: repeat(7, 1fr); gap: 3px; }
	.pkw-kalendarz__dzien { min-height: 56px; font-size: 10px; padding: 3px; }
	.pkw-kalendarz__naglowek { font-size: 10px; }
}

/* --------------------------------------------------------------------
   Mapa
   -------------------------------------------------------------------- */
.pkw-mapa-wrap { height: 560px; border-radius: 10px; overflow: hidden; }
.pkw-firma-mapa,
.pkw-wydarzenie-mapa { height: 320px; border-radius: 10px; overflow: hidden; margin-top: 14px; }

/* --------------------------------------------------------------------
   Podstrona wydarzenia
   -------------------------------------------------------------------- */
.pkw-breadcrumbs { font-size: 14px; color: #5b6b7a; margin-bottom: 16px; }
.pkw-breadcrumbs a { color: #5b6b7a; text-decoration: underline; }

.pkw-wydarzenie-header h1 { font-size: clamp(26px, 5vw, 40px); color: var(--pod-navy); margin: 0 0 12px; }
.pkw-badge {
	display: inline-flex; align-items: center; min-height: 32px; padding: 6px 14px;
	border-radius: 999px; font-weight: 700; font-size: 14px; background: #f4f6f8; color: var(--pod-navy);
}
.pkw-badge--wolny { background: var(--pod-turquoise); color: #fff; }
.pkw-badge--archiwum { background: #eceff1; color: #5b6b7a; }

.pkw-wydarzenie-hero-img img { width: 100%; border-radius: 12px; margin: 16px 0; }

.pkw-wydarzenie-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 32px; margin-top: 20px; }
@media (max-width: 900px) { .pkw-wydarzenie-layout { grid-template-columns: 1fr; } }

.pkw-wydarzenie-karta-info { background: #f6f8f7; border-radius: 10px; padding: 18px; }
.pkw-wydarzenie-karta-info h2 { margin-top: 0; font-size: 18px; color: var(--pod-navy); }
.pkw-info-row { margin: 6px 0; }

.pkw-ics-btn { margin-top: 12px; }

/* --------------------------------------------------------------------
   Widżet „Najbliższe wydarzenia" — [podhale_wydarzenia_widget]
   Do osadzenia w kolumnie bocznej / sidebarze (np. na stronie głównej).
   -------------------------------------------------------------------- */
.pkw-widget {
	position: relative;
	background: var(--pod-white);
	border-radius: var(--pod-radius, 12px);
	border-top: 5px solid var(--pod-yellow);
	box-shadow: 0 16px 40px rgba(0,0,0,.28);
	padding: clamp(20px, 2.5vw, 26px) clamp(16px, 2.5vw, 22px) clamp(16px, 2.5vw, 22px);
}
.pkw-widget__head {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	flex-wrap: wrap;
}
.pkw-widget__badge {
	flex: 0 0 auto;
	background: var(--pod-yellow);
	color: var(--pod-navy);
	font-weight: 800;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .03em;
	padding: 5px 12px;
	border-radius: 999px;
}
.pkw-widget__tytul {
	margin: 0;
	color: var(--pod-navy);
	font-size: 20px;
}
.pkw-widget__lista {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.pkw-widget__pozycja + .pkw-widget__pozycja { border-top: 1px solid #eef1f0; }
.pkw-widget__link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 4px;
	text-decoration: none;
	color: inherit;
}
.pkw-widget__data {
	flex: 0 0 auto;
	width: 56px;
	text-align: center;
	background: #f4f6f8;
	border-radius: 8px;
	padding: 6px 2px;
	line-height: 1.1;
}
.pkw-widget__dzien { display: block; font-size: 15px; font-weight: 800; color: var(--pod-navy); white-space: nowrap; }
.pkw-widget__miesiac { display: block; font-size: 10px; text-transform: uppercase; color: var(--pod-turquoise); font-weight: 700; }
.pkw-widget__tresc { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pkw-widget__nazwa { font-weight: 700; color: var(--pod-navy); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pkw-widget__miejsce { font-size: 13px; color: #5b6b7a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pkw-widget__brak { color: #5b6b7a; font-size: 14px; }
.pkw-widget__wiecej {
	display: inline-block;
	margin-top: 14px;
	font-weight: 700;
	color: var(--pod-turquoise);
	text-decoration: none;
}
.pkw-widget__wiecej:hover { text-decoration: underline; }

/* --------------------------------------------------------------------
   Formularz zgłoszeniowy
   -------------------------------------------------------------------- */
.pkw-form-ai { background: #fff8e1; border: 1px solid #ffe6a3; border-radius: 10px; padding: 14px 16px; margin-bottom: 20px; }
.pkw-ai-status { display: block; margin-top: 8px; font-size: 13px; color: #5b6b7a; }

.pkw-form { max-width: 720px; }
.pkw-form__row { margin-bottom: 16px; }
.pkw-form__row label { display: block; font-weight: 700; margin-bottom: 6px; color: var(--pod-navy); }
.pkw-form__row input[type="text"],
.pkw-form__row input[type="email"],
.pkw-form__row input[type="tel"],
.pkw-form__row input[type="url"],
.pkw-form__row input[type="date"],
.pkw-form__row input[type="time"],
.pkw-form__row input[type="file"],
.pkw-form__row select,
.pkw-form__row textarea {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #d7dedb;
	border-radius: 8px;
	font-size: 15px;
}
.pkw-form__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; margin-bottom: 4px; }
.pkw-form__honeypot { position: absolute; left: -9999px; }
.pkw-checkbox { display: flex; align-items: flex-start; gap: 8px; font-weight: 400 !important; }
.pkw-form-alert { padding: 12px 16px; border-radius: 8px; margin-bottom: 16px; }
.pkw-form-alert--ok { background: #e3f3ec; color: #1c4a4a; }
.pkw-form-alert--blad { background: #fde8e8; color: #a94442; }
