/* Bloki DJ Disco: „Sprawdź termin” i „Kalendarz terminów”.
   Kolory z palety motywu (zmienne --wp--preset--color--…), z zapasem na inny motyw. */
.djt, .djk {
	--dj-noc: var(--wp--preset--color--noc, #140d0a);
	--dj-scena: var(--wp--preset--color--scena, #241811);
	--dj-deski: var(--wp--preset--color--deski, #3d2b1e);
	--dj-bursztyn: var(--wp--preset--color--bursztyn, #ffb02e);
	--dj-zar: var(--wp--preset--color--zar, #ff6a1a);
	--dj-dym: var(--wp--preset--color--dym, #f4ece1);
	--dj-popiol: var(--wp--preset--color--popiol, #b5a798);
	--dj-wolny: #7ee2a8;
	--dj-zajety: #ff8b7a;
}

/* ---------- Sprawdź termin ---------- */
.djt { max-width: 34rem; }
.djt__naglowek { display: block; margin-bottom: .55rem; font-weight: 700; font-size: 1.05rem; color: var(--dj-dym); }
.djt__wiersz {
	display: flex; gap: .4rem; padding: .4rem;
	background: rgba(20, 13, 10, .72); border: 1px solid rgba(255, 176, 46, .35); border-radius: 999px;
	backdrop-filter: blur(6px);
}
.djt__data {
	flex: 1; min-width: 0; height: 3rem; padding: 0 1.1rem;
	border: 0; border-radius: 999px; background: transparent; color: var(--dj-dym);
	font: 500 1.1rem/1 inherit; font-family: inherit; color-scheme: dark;
}
.djt__data:focus-visible { outline: 2px solid var(--dj-bursztyn); outline-offset: 2px; }
.djt__przycisk {
	flex: none; height: 3rem; padding: 0 1.4rem; border: 0; border-radius: 999px; cursor: pointer;
	background: var(--dj-bursztyn); color: var(--dj-noc); font: 700 1rem/1 inherit; font-family: inherit;
	transition: background-color .15s;
}
.djt__przycisk:hover { background: var(--dj-zar); }
.djt__przycisk:focus-visible { outline: 2px solid var(--dj-dym); outline-offset: 3px; }
.djt__wynik {
	margin-top: .75rem; padding: 1rem 1.15rem; border-radius: 16px;
	background: rgba(20, 13, 10, .82); border: 1px solid var(--dj-deski); backdrop-filter: blur(6px);
}
.djt__wynik.is-wolny { border-color: rgba(126, 226, 168, .55); }
.djt__wynik.is-zajety { border-color: rgba(255, 139, 122, .5); }
.djt__werdykt { margin: 0; color: var(--dj-dym); }
.djt__wynik.is-wolny strong { color: var(--dj-wolny); }
.djt__wynik.is-zajety strong { color: var(--dj-zajety); }
.djt__obok { margin: .7rem 0 .35rem; color: var(--dj-popiol); font-size: .9rem; }
.djt__dni { display: flex; flex-wrap: wrap; gap: .4rem; }
.djt__dzien {
	padding: .4rem .8rem; border: 1px solid rgba(126, 226, 168, .5); border-radius: 999px; cursor: pointer;
	background: rgba(126, 226, 168, .1); color: var(--dj-wolny); font: 700 .9rem/1 inherit; font-family: inherit;
}
.djt__dzien:hover { background: rgba(126, 226, 168, .2); }
.djt__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; margin-top: .8rem; }
.djt__akcja {
	display: inline-block; padding: .65rem 1.2rem; border-radius: 999px; text-decoration: none;
	background: var(--dj-bursztyn); color: var(--dj-noc) !important; font-weight: 700;
}
.djt__akcja:hover { background: var(--dj-zar); }
.djt__akcja--tekst { padding: 0; background: none; color: var(--dj-dym) !important; text-decoration: underline; font-weight: 500; }
.djt__akcja--tekst:hover { background: none; color: var(--dj-bursztyn) !important; }
@media (max-width: 600px) {
	/* telefon: pole daty i przycisk osobno, pole wygodne do dotknięcia */
	.djt__wiersz { flex-direction: column; gap: .6rem; padding: 0; background: none; border: 0; backdrop-filter: none; }
	.djt__data { min-height: 3.1rem; border: 1px solid rgba(240, 185, 85, .45); background: rgba(11, 14, 20, .75); }
	.djt__przycisk { width: 100%; }
}
.djt__przycisk, .djk__pokaz, .djt__akcja { text-transform: uppercase; letter-spacing: .06em; font-size: .8rem !important; }
.djt__przycisk { background: linear-gradient(100deg, #f8d27a 0%, #efb24a 55%, #e59a2f 100%); color: #121826; }
.djt__przycisk:hover { background: linear-gradient(100deg, #ffe0a0 0%, #f6c463 100%); }

/* ---------- Kalendarz terminów ---------- */
.djk__legenda { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .9rem; margin: 0 0 1.5rem; color: var(--dj-popiol); font-size: .9rem; }
.djk__znak { display: inline-block; width: .9rem; height: .9rem; border-radius: 3px; vertical-align: -2px; }
.djk__poz { display: inline-flex; align-items: center; gap: .4rem; }
.djk__znak--zajety { background: var(--dj-deski); position: relative; overflow: hidden; }
.djk__znak--zajety::after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, transparent 45%, var(--dj-zajety) 45%, var(--dj-zajety) 55%, transparent 55%); opacity: .7; }
.djk__znak--swieto { border: 1px dashed var(--dj-popiol); background: rgba(181, 167, 152, .12); }
.djk__miesiace { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 2.2rem 2rem; }
.djk__miesiac[hidden] { display: none; }
.djk__nazwa { margin: 0; font-size: 2rem; }
.djk__soboty { margin: .15rem 0 .8rem; color: var(--dj-popiol); font-size: .9rem; }
.djk__siatka { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.djk__siatka li { max-width: none; }
.djk__tyg { text-align: center; font-size: .75rem; color: var(--dj-popiol); padding-bottom: .2rem; }
.djk__tyg.is-sobota { color: var(--dj-bursztyn); }
.djk__dzien > a, .djk__dzien > span {
	display: grid; place-items: center; aspect-ratio: 1; border-radius: 6px;
	font-size: .92rem; font-variant-numeric: tabular-nums; text-decoration: none;
}
.djk__dzien.is-wolny > a { color: var(--dj-dym); border: 1px solid transparent; }
.djk__dzien.is-wolny.is-sobota > a { border-color: rgba(255, 176, 46, .55); color: var(--dj-bursztyn); font-weight: 700; }
.djk__dzien.is-wolny > a:hover, .djk__dzien.is-wolny > a:focus-visible { background: var(--dj-bursztyn); color: var(--dj-noc); outline: none; }
.djk__dzien.is-zajety > span {
	color: var(--dj-popiol); background: var(--dj-scena);
	background-image: linear-gradient(135deg, transparent 47%, rgba(255, 139, 122, .55) 47%, rgba(255, 139, 122, .55) 53%, transparent 53%);
}
/* Święto — nie gramy (ustawienia: Kalendarz Imprez → Święta). */
.djk__dzien.is-swieto > span { color: var(--dj-popiol); border: 1px dashed rgba(181, 167, 152, .6); background: rgba(181, 167, 152, .08); cursor: help; }
.djk__dzien.is-minal > span { color: rgba(181, 167, 152, .35); }
.djk__dzien.is-dzis > a, .djk__dzien.is-dzis > span { box-shadow: inset 0 0 0 2px var(--dj-dym); }
.djk__wiecej { margin: 2rem 0 0; }
.djk__pokaz {
	padding: .75rem 1.4rem; border: 2px solid var(--dj-deski); border-radius: 999px; background: transparent; cursor: pointer;
	color: var(--dj-dym); font: 700 1rem/1 inherit; font-family: inherit;
}
.djk__pokaz:hover { border-color: var(--dj-bursztyn); color: var(--dj-bursztyn); }

/* ---------- Najbliższe wolne soboty ---------- */
.djs {
	--dj-bursztyn: var(--wp--preset--color--bursztyn, #ffb02e);
	--dj-dym: var(--wp--preset--color--dym, #f4ece1);
	--dj-noc: var(--wp--preset--color--noc, #140d0a);
}
.djs__lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.djs__lista li { margin: 0; max-width: none; }
.djs__dzien {
	display: grid; gap: .1rem; padding: .7rem 1.1rem .75rem; min-width: 8.5rem;
	border: 1px solid rgba(255, 176, 46, .55); border-radius: 14px; text-decoration: none;
	background: rgba(20, 13, 10, .55); backdrop-filter: blur(4px);
	transition: background-color .15s, border-color .15s, transform .15s;
}
.djs__data { font-family: var(--wp--preset--font-family--scena, sans-serif); font-weight: 800; font-size: 1.9rem; line-height: 1; color: var(--dj-bursztyn); }
.djs__opis { font-size: .8rem; color: var(--dj-dym); opacity: .75; }
.djs__dzien:hover, .djs__dzien:focus-visible { background: var(--dj-bursztyn); border-color: var(--dj-bursztyn); transform: translateY(-2px); outline: none; }
.djs__dzien:hover .djs__data, .djs__dzien:focus-visible .djs__data,
.djs__dzien:hover .djs__opis, .djs__dzien:focus-visible .djs__opis { color: var(--dj-noc); opacity: 1; }
.djs__brak { margin: 0; color: var(--dj-dym); }
@media (prefers-reduced-motion: reduce) { .djs__dzien { transition: none; } .djs__dzien:hover { transform: none; } }

/* ---------- Opinie klientów ---------- */
.djo {
	--dj-bursztyn: var(--wp--preset--color--bursztyn, #f0b955);
	--dj-dym: var(--wp--preset--color--dym, #f3f4f6);
	--dj-scena: var(--wp--preset--color--scena, #10141d);
	--dj-deski: var(--wp--preset--color--deski, #262c38);
	--dj-popiol: var(--wp--preset--color--popiol, #9aa1ad);
}
.djo__glowa { display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.6rem; }
.djo__wstep {
	display: flex; align-items: center; gap: .7rem; margin: 0 0 .6rem;
	font-size: .72rem; font-weight: 700; letter-spacing: .28em; text-transform: uppercase; color: var(--dj-bursztyn);
}
.djo__wstep::before { content: ""; width: 1.4rem; height: 2px; background: currentColor; }
.djo__naglowek { margin: 0; }
.djo__strzalki { display: flex; gap: .5rem; flex: none; }
.djo__btn {
	display: grid; place-items: center; width: 2.4rem; height: 2.4rem; padding: 0; cursor: pointer;
	border: 1.5px solid rgba(255, 255, 255, .45); border-radius: 50%; background: transparent; color: var(--dj-dym);
	transition: border-color .15s, background-color .15s, color .15s;
}
.djo__btn:hover { border-color: var(--dj-bursztyn); background: var(--dj-bursztyn); color: #121826; }
.djo__lista {
	list-style: none; margin: 0; padding: 0 0 4px; display: grid; grid-auto-flow: column;
	grid-auto-columns: calc((100% - 2 * 1.25rem) / 3); gap: 1.25rem;
	overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain;
}
.djo__lista::-webkit-scrollbar { display: none; }
.djo__lista:focus-visible { outline: 2px solid var(--dj-bursztyn); outline-offset: 4px; }
@media (max-width: 1000px) { .djo__lista { grid-auto-columns: calc((100% - 1.25rem) / 2); } }
@media (max-width: 640px) { .djo__lista { grid-auto-columns: 86%; } }
.djo__karta {
	scroll-snap-align: start; margin: 0; max-width: none; padding: 1.4rem 1.5rem 1.5rem;
	background: var(--dj-scena); border: 1px solid var(--dj-deski); border-radius: 12px;
	transition: border-color .25s;
}
.djo__karta:hover { border-color: rgba(240, 185, 85, .5); }
.djo__kto { display: flex; align-items: center; gap: .8rem; }
.djo__foto { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex: none; border: 1.5px solid rgba(240, 185, 85, .55); }
.djo__foto--litera { display: grid; place-items: center; background: rgba(240, 185, 85, .14); color: var(--dj-bursztyn); font-weight: 800; font-size: 1.1rem; }
.djo__imie { display: block; font-size: .92rem; color: #fff; }
.djo__rodzaj { display: block; font-size: .78rem; color: var(--dj-popiol); }
.djo__gwiazdki { margin: .85rem 0 .55rem; color: var(--dj-bursztyn); letter-spacing: .15em; font-size: 1rem; }
.djo__gwiazdki-puste { color: var(--dj-deski); }
.djo__tresc { margin: 0; padding: 0; border: 0; font-size: .88rem; line-height: 1.6; color: #d4d8de; }
.djo__tresc p { margin: 0; max-width: none; }
.djo__tresc p::before { content: "„"; }
.djo__tresc p:last-child::after { content: "”"; }
.djo__zrodlo { margin: .7rem 0 0; font-size: .74rem; color: var(--dj-popiol); }
.djs__opis--przed { display: none; }
.dj-kontakt-pas .djs__opis--przed { display: inline; opacity: .8; }
.dj-kontakt-pas .djs__dzien { gap: .35rem; }
