/*
Theme Name: DJ Disco King
Theme URI: https://djdisco.pl
Author: INTMEDIA.pl
Description: Motyw blokowy djdisco.pl — bez Bricksa, pełna edycja w Wygląd → Edytor. Czerń z granatem, złoty gradient, Montserrat. Funkcje (wydarzenia, kalendarz, umowy, panel DJ-a, ankiety, opinie) są we wtyczce „DJ DISCO — rdzeń”, więc nie znikną przy zmianie motywu.
Version: 2.0.0
Requires at least: 6.6
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: djdisco
*/

/* =================================================================
   Podstawy
   ================================================================= */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
::selection { background: var(--wp--preset--color--bursztyn); color: var(--wp--preset--color--atrament); }
img { height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
:focus-visible { outline: 2px solid var(--wp--preset--color--bursztyn); outline-offset: 3px; }
.wp-block-post-content p, .wp-block-post-content li { max-width: 68ch; }

/* Złote wyróżnienie w nagłówkach (Wyróżnienie → kolor „Złoty tekst”) = złoty gradient */
mark.has-zloto-color, .dj-zloto {
	background: linear-gradient(100deg, #f8d27a 0%, #efb24a 55%, #e59a2f 100%) !important;
	-webkit-background-clip: text !important; background-clip: text !important;
	color: transparent !important; -webkit-text-fill-color: transparent;
}

/* Ikony liniowe: klasa dj-ik-<nazwa> (definicje w assets/css/ikony.css) */
[class*="dj-ik-"]::before { mask: var(--dj-ik) center / contain no-repeat; -webkit-mask: var(--dj-ik) center / contain no-repeat; }

/* Mała złota etykieta nad nagłówkiem */
.dj-etykieta, .is-style-etykieta {
	display: flex; align-items: center; gap: .7rem; margin: 0 0 .6rem !important;
	font-size: .72rem !important; font-weight: 700; letter-spacing: .28em; text-transform: uppercase;
	color: var(--wp--preset--color--bursztyn);
}
.dj-etykieta::before, .is-style-etykieta::before { content: ""; width: 1.4rem; height: 2px; background: currentColor; flex: none; }

/* =================================================================
   Przyciski: złota pigułka i obrys, z ikonami
   ================================================================= */
.wp-block-button__link { display: inline-flex; align-items: center; gap: .6rem; transition: background .2s, color .2s, border-color .2s, transform .2s, box-shadow .2s; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link { box-shadow: 0 10px 30px -10px rgba(240, 185, 85, .55); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { transform: translateY(-2px); }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--dym);
	border: 1.5px solid var(--wp--preset--color--bursztyn); padding: calc(.95rem - 1.5px) calc(1.75rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(240, 185, 85, .12); color: #fff; }
.wp-block-button[class*="dj-ik-"]::before { content: none; }
.wp-block-button[class*="dj-ik-"] .wp-block-button__link::before {
	content: ""; width: 1.05rem; height: 1.05rem; flex: none; background: currentColor;
	mask: var(--dj-ik) center / contain no-repeat; -webkit-mask: var(--dj-ik) center / contain no-repeat;
}
.wp-block-button.dj-ik-strzalka .wp-block-button__link::before { order: 2; width: .9rem; height: .9rem; }

/* =================================================================
   Nagłówek
   ================================================================= */
.dj-naglowek {
	position: fixed; inset: 0 0 auto 0; z-index: 50;
	padding-top: env(safe-area-inset-top, 0px);
	background: rgba(11, 14, 20, .82); backdrop-filter: blur(10px);
	border-bottom: 1px solid rgba(255, 255, 255, .07);
	transition: background-color .25s ease;
}
body.admin-bar .dj-naglowek { top: var(--wp-admin--admin-bar--height, 32px); }
.dj-naglowek.is-przewiniety { background: rgba(11, 14, 20, .97); }
.dj-marka { margin: 0 !important; font-weight: 800; font-size: 1.35rem; line-height: 1; letter-spacing: -.01em; }
.dj-marka a { color: var(--wp--preset--color--dym); text-decoration: none; }
.dj-marka__haslo { white-space: nowrap; margin: .35rem 0 0 !important; font-size: .56rem !important; font-weight: 600; letter-spacing: .3em; text-transform: uppercase; color: var(--wp--preset--color--popiol); }
.dj-naglowek .wp-block-navigation__container { gap: clamp(.9rem, 1.6vw, 1.75rem); flex-wrap: nowrap; }
.dj-naglowek .wp-block-navigation-item > a { white-space: nowrap; font-size: .72rem; }
.dj-naglowek .wp-block-buttons, .dj-naglowek .wp-block-button__link { white-space: nowrap; flex-wrap: nowrap; }
.dj-naglowek .wp-block-site-logo { flex: none; }
.dj-naglowek .wp-block-navigation-item > a { position: relative; padding-block: .55rem; }
.dj-naglowek .wp-block-navigation-item.is-aktywny > a,
.dj-naglowek .wp-block-navigation-item > a[aria-current="page"] { color: var(--wp--preset--color--bursztyn); }
.dj-naglowek .wp-block-navigation__container > .wp-block-navigation-item > a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; border-radius: 2px;
	background: var(--wp--preset--color--bursztyn); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.dj-naglowek .wp-block-navigation__container > .wp-block-navigation-item.is-aktywny > a::after,
.dj-naglowek .wp-block-navigation__container > .wp-block-navigation-item > a:hover::after { transform: scaleX(1); }
.dj-naglowek .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--scena) !important; border: 1px solid var(--wp--preset--color--deski) !important;
	border-radius: 10px; padding: .4rem 0; min-width: 220px !important;
}
.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--noc) !important; padding: 6rem 1.5rem 2rem; }
.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { font-size: 1.15rem; gap: 1.1rem; }
.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; background: none !important; padding: .4rem 0 0 1rem; }
.dj-naglowek .dj-naglowek__przycisk .wp-block-button__link { padding: .75rem 1.3rem; font-size: .72rem; }
@media (max-width: 1320px) { .dj-marka__haslo { display: none; } }
@media (max-width: 1100px) and (min-width: 782px) { .dj-naglowek .dj-naglowek__przycisk { display: none; } }
@media (max-width: 781px) {
	.dj-naglowek .dj-naglowek__przycisk { display: none; }
	.dj-marka { font-size: 1.1rem; }
}

/* Strony bez zdjęcia na górze: treść pod nagłówkiem. */
.dj-tytul-strony { padding-top: clamp(8rem, 14vw, 10rem) !important; }

/* =================================================================
   Hero
   ================================================================= */
.dj-hero { min-height: clamp(560px, 84vh, 820px) !important; padding-top: 7rem !important; }
.dj-hero .wp-block-cover__background { background: linear-gradient(90deg, rgba(11, 14, 20, .96) 0%, rgba(11, 14, 20, .86) 34%, rgba(11, 14, 20, .25) 72%, rgba(11, 14, 20, .1) 100%) !important; opacity: 1 !important; }
.dj-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 28%; background: linear-gradient(180deg, rgba(11, 14, 20, 0), var(--wp--preset--color--noc)); pointer-events: none; z-index: 1; }
.dj-hero .wp-block-cover__inner-container { width: 100%; max-width: 1280px; margin-inline: auto; position: relative; z-index: 2; }
.dj-hero .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: 0 !important; }
.dj-hero .wp-block-cover__image-background { object-position: 70% 40%; }
.dj-hero h1 { font-size: var(--wp--preset--font-size--scena); line-height: 1.04; max-width: none; margin-top: .2rem !important; }
.dj-hero__wstep { max-width: 46ch !important; color: #e3e6ea; margin-top: 1.1rem !important; }

/* Cechy z ikonami w hero */
.dj-cechy { display: flex !important; flex-wrap: wrap; gap: 1.1rem 2rem !important; margin: 1.6rem 0 1.9rem !important; }
.dj-cecha {
	display: flex; align-items: center; gap: .7rem; margin: 0 !important;
	font-size: .68rem !important; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; color: #fff;
}
.dj-cecha::before { content: ""; width: 1.75rem; height: 1.75rem; flex: none; background: var(--wp--preset--color--bursztyn); }

/* =================================================================
   „Twój event w dobrych rękach” — karty z ikonami
   ================================================================= */
.dj-sekcja-ciemna { background-image: radial-gradient(70% 90% at 100% 0%, rgba(240, 185, 85, .07) 0%, rgba(11, 14, 20, 0) 60%); }
.dj-karty { gap: 1rem !important; }
.dj-karta {
	min-height: 0 !important; height: clamp(290px, 25vw, 370px); padding: 1.25rem 1rem !important;
	border-radius: 10px; overflow: hidden; border: 1px solid rgba(240, 185, 85, .35);
	transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.dj-karta .wp-block-cover__background { background: linear-gradient(180deg, rgba(11, 14, 20, .05) 0%, rgba(11, 14, 20, .5) 42%, rgba(11, 14, 20, .97) 78%) !important; opacity: 1 !important; }
.dj-karta .wp-block-cover__image-background { transition: transform .6s ease; }
.dj-karta:hover { transform: translateY(-6px); border-color: var(--wp--preset--color--bursztyn); box-shadow: 0 20px 40px -18px rgba(240, 185, 85, .45); }
.dj-karta:hover .wp-block-cover__image-background { transform: scale(1.06); }
.dj-karta .wp-block-cover__inner-container { text-align: center; }
.dj-karta h3 {
	display: grid; justify-items: center; align-items: center; row-gap: .8rem; margin: 0 0 .45rem !important;
	font-size: .76rem !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3;
}
.dj-karta h3::before {
	content: ""; grid-area: 1 / 1; width: 3.2rem; height: 3.2rem; border-radius: 50%;
	border: 1.5px solid var(--wp--preset--color--bursztyn); background: rgba(11, 14, 20, .55);
	-webkit-mask: none !important; mask: none !important;
}
.dj-karta h3::after {
	content: ""; grid-area: 1 / 1; width: 1.6rem; height: 1.6rem; background: var(--wp--preset--color--bursztyn);
	mask: var(--dj-ik) center / contain no-repeat; -webkit-mask: var(--dj-ik) center / contain no-repeat;
}
.dj-karta p { margin: 0 !important; font-size: .74rem !important; line-height: 1.5; color: #c8ccd3; }
@media (max-width: 781px) { .dj-karta { height: 250px; } .dj-karta h3 { font-size: .7rem !important; letter-spacing: .05em; } }

/* =================================================================
   Jasna sekcja galerii
   ================================================================= */
.dj-jasna { color: var(--wp--preset--color--atrament); }
.dj-jasna h2, .dj-jasna h3 { color: var(--wp--preset--color--atrament); }
.dj-jasna .dj-etykieta { color: #8a8f99; }
.dj-jasna .wp-block-button.is-style-outline > .wp-block-button__link { color: var(--wp--preset--color--atrament); }
.dj-jasna .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(240, 185, 85, .18); }

/* =================================================================
   Galeria: siatka i „Slider” (pasek przewijany w bok)
   ================================================================= */
.wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 8px; }
.wp-block-gallery.has-nested-images figure.wp-block-image { overflow: hidden; }

.wp-block-gallery.is-style-slider.has-nested-images {
	display: flex !important; flex-wrap: nowrap !important; gap: 14px !important;
	overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
	position: relative; cursor: grab; scrollbar-width: none; padding-bottom: 6px;
}
.wp-block-gallery.is-style-slider.alignfull.has-nested-images {
	scroll-padding-inline: var(--wp--style--root--padding-left, 1.5rem);
	padding-inline: var(--wp--style--root--padding-left, 1.5rem) !important;
}
.wp-block-gallery.is-style-slider::-webkit-scrollbar { display: none; }
.wp-block-gallery.is-style-slider.is-ciagniety { scroll-snap-type: none; cursor: grabbing; }
.wp-block-gallery.is-style-slider:focus-visible { outline-offset: -3px; }
.wp-block-gallery.is-style-slider.has-nested-images figure.wp-block-image:not(#individual-image) {
	flex: 0 0 auto !important; width: auto !important; height: clamp(12rem, 15.5vw, 15rem);
	margin: 0 !important; scroll-snap-align: start; border-radius: 10px;
	box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .55);
}
.wp-block-gallery.is-style-slider.has-nested-images figure.wp-block-image img {
	height: 100% !important; width: auto !important; max-width: none; aspect-ratio: 1 / 1.05; object-fit: cover; border-radius: 10px;
	transition: transform .5s ease;
}
.wp-block-gallery.is-style-slider figure:hover img { transform: scale(1.04); }

/* Rząd zdjęć pod sliderem („Zobacz nas w akcji”): kwadraty, 6 w rzędzie, na telefonie 3. */
.wp-block-gallery.dj-pasek-zdjec { --wp--style--unstable-gallery-gap: 8px; gap: 8px !important; margin-top: clamp(1.75rem, 3.5vw, 2.75rem) !important; }
.wp-block-gallery.has-nested-images.dj-pasek-zdjec figure.wp-block-image:not(#individual-image) { aspect-ratio: 1; border-radius: 10px; overflow: hidden; }
.wp-block-gallery.dj-pasek-zdjec figure.wp-block-image img { transition: transform .5s ease; }
.wp-block-gallery.dj-pasek-zdjec figure.wp-block-image:hover img { transform: scale(1.06); }
@media (max-width: 781px) {
	.wp-block-gallery.has-nested-images.dj-pasek-zdjec figure.wp-block-image:not(#individual-image) { width: calc(33.333% - var(--wp--style--unstable-gallery-gap) * 2 / 3); }
}
@media (prefers-reduced-motion: reduce) { .wp-block-gallery.dj-pasek-zdjec figure.wp-block-image img { transition: none; } }
@media (max-width: 781px) {
	.wp-block-gallery.is-style-slider.has-nested-images figure.wp-block-image:not(#individual-image) { height: auto; width: 70vw !important; }
	.wp-block-gallery.is-style-slider.has-nested-images figure.wp-block-image img { width: 100% !important; height: auto !important; }
}
.dj-slider__ster { display: flex; align-items: center; gap: 1rem; margin-top: 1.1rem; }
.dj-slider__licznik { font-weight: 800; font-size: 1rem; font-variant-numeric: tabular-nums; min-width: 4.5ch; }
.dj-slider__postep { flex: 1; height: 2px; background: rgba(127, 127, 127, .3); border-radius: 2px; overflow: hidden; }
.dj-slider__postep span { display: block; height: 100%; width: 10%; background: var(--wp--preset--color--bursztyn); transition: width .2s linear; }
.dj-slider__btn {
	display: grid; place-items: center; width: 2.6rem; height: 2.6rem; padding: 0; cursor: pointer;
	border: 1.5px solid currentColor; border-radius: 50%; background: transparent; color: inherit; opacity: .8;
	transition: border-color .15s, color .15s, background-color .15s, opacity .15s;
}
.dj-slider__btn:hover:not(:disabled) { border-color: var(--wp--preset--color--bursztyn); background: var(--wp--preset--color--bursztyn); color: var(--wp--preset--color--atrament); opacity: 1; }
.dj-slider__btn:disabled { opacity: .25; cursor: default; }

/* =================================================================
   Pas kontaktu i stopka
   ================================================================= */
.dj-kontakt-pas { min-height: 0 !important; padding-block: clamp(2.5rem, 5vw, 3.5rem) !important; border-block: 1px solid rgba(240, 185, 85, .25); }
.dj-kontakt-pas .wp-block-cover__background { background: linear-gradient(90deg, rgba(11, 14, 20, .95) 0%, rgba(30, 16, 48, .78) 55%, rgba(11, 14, 20, .9) 100%) !important; opacity: 1 !important; }
.dj-kontakt-pas .wp-block-cover__inner-container { max-width: 1280px; margin-inline: auto; }
.dj-kontakt-pas h2 { font-size: clamp(1.7rem, 2.6vw, 2.4rem); margin: 0 0 .5rem !important; }
.dj-kolo { flex: none; width: 4.4rem; height: 4.4rem; margin: 0 !important; border-radius: 50%; border: 2px solid var(--wp--preset--color--bursztyn); position: relative; }
.dj-kolo::before { content: ""; position: absolute; inset: 22%; background: var(--wp--preset--color--bursztyn); }
.dj-kontakt-lista { border-left: 1px solid rgba(255, 255, 255, .15); padding-left: clamp(1rem, 3vw, 2.5rem) !important; }
.dj-kontakt-lista p, .dj-stopka-kontakt p { display: flex; align-items: center; gap: .8rem; margin: 0 0 .9rem !important; }
.dj-kontakt-lista p::before, .dj-stopka-kontakt p::before { content: ""; width: 1.15rem; height: 1.15rem; flex: none; background: var(--wp--preset--color--bursztyn); }
.dj-kontakt-lista a, .dj-stopka-kontakt a { color: var(--wp--preset--color--dym); text-decoration: none; }
.dj-kontakt-lista a:hover, .dj-stopka-kontakt a:hover { color: var(--wp--preset--color--bursztyn); }
.dj-kontakt-pas .djs { margin-top: .9rem; }
.dj-kontakt-pas .djs__dzien { min-width: 0; padding: .5rem .95rem; border-radius: 999px; display: inline-flex; gap: .5rem; align-items: baseline; }
.dj-kontakt-pas .djs__data { font-size: 1rem; }
@media (max-width: 781px) { .dj-kontakt-lista { border-left: 0; padding-left: 0 !important; } }

.dj-stopka { font-size: .86rem; }
.dj-stopka h4 { font-size: .95rem; margin-bottom: .9rem !important; color: #fff; }
.dj-stopka a:not(.wp-block-button__link) { color: #b8bec8; text-decoration: none; }
.dj-stopka .wp-block-button:not(.is-style-outline) .wp-block-button__link { color: var(--wp--preset--color--atrament); }
.dj-stopka a:not(.wp-block-button__link):hover { color: var(--wp--preset--color--bursztyn); }
.dj-stopka ul.wp-block-list { list-style: none; padding: 0; margin: 0; display: grid; gap: .5rem; }
.dj-stopka .wp-block-social-links { flex-wrap: nowrap; gap: .55rem !important; justify-content: flex-end; }
.dj-stopka .wp-block-social-links .wp-social-link { border: 1.5px solid rgba(255, 255, 255, .35); border-radius: 50%; transition: border-color .2s, background-color .2s; }
.dj-stopka .wp-block-social-links .wp-social-link a { padding: .45rem; }
@media (max-width: 781px) { .dj-stopka .wp-block-social-links { justify-content: center; } }
.dj-stopka .wp-block-social-links .wp-social-link:hover { border-color: var(--wp--preset--color--bursztyn); background: rgba(240, 185, 85, .12); }
.dj-stopka-dol { color: #7f8692; font-size: .78rem; }
.dj-stopka-dol p { margin: 0 !important; }
.dj-stopka-dol a { color: #7f8692; }
.dj-stopka .djz-link { color: #7f8692; font-size: .78rem; text-decoration: none; }

/*
 * Pomocnik AI na telefonie: nad ikonką cookies (40 px, 14 px od rogu), na jednej osi.
 * Wtyczka statystyk stawia go obok niej, bo w Bricksie wyżej był pasek social media —
 * w tym motywie go nie ma.
 */
@media (max-width: 767px) {
	body .djai--lewo:not(.djai--nad) { --djai-bok: 8px !important; --djai-dol: 64px !important; }
	body .djai--lewo .djai__panel { left: 10px; } /* okienko z równym odstępem po obu stronach */
}

/* Stopka na telefonie: wszystko na środku (kolumny są wtedy jedna pod drugą). */
@media (max-width: 781px) {
	.dj-stopka { text-align: center; }
	.dj-stopka .is-layout-flex, .dj-stopka .djs__lista, .dj-stopka .dj-etykieta,
	.dj-kontakt-lista p, .dj-stopka-kontakt p { justify-content: center !important; }
	.dj-stopka .dj-etykieta::after { content: ""; width: 1.4rem; height: 2px; background: currentColor; flex: none; }
	.dj-kontakt-pas .wp-block-group.is-nowrap { flex-direction: column; }
	.dj-stopka-dol { flex-direction: column; gap: .6rem !important; padding-bottom: 6.5rem !important; } /* miejsce nad pływającymi przyciskami */
}

/* =================================================================
   Nagłówek podstron (zdjęcie + tytuł)
   ================================================================= */
.dj-naglowek-strony { min-height: 0 !important; padding-top: clamp(8.5rem, 14vw, 11rem) !important; padding-bottom: clamp(2.5rem, 5vw, 4rem) !important; }
.dj-naglowek-strony .wp-block-cover__background { background: linear-gradient(90deg, rgba(11, 14, 20, .95) 0%, rgba(11, 14, 20, .75) 60%, rgba(11, 14, 20, .55) 100%) !important; opacity: 1 !important; }
.dj-naglowek-strony .wp-block-cover__inner-container { max-width: 1280px; margin-inline: auto; }
.dj-naglowek-strony .wp-block-cover__inner-container > * { margin-left: 0 !important; }
.dj-naglowek-strony h1 { margin: 0 !important; }

/* Telefon w treści strony (Kontakt) */
.dj-telefon a { font-weight: 800; font-size: clamp(2rem, 4vw, 3rem); line-height: 1; color: var(--wp--preset--color--bursztyn); text-decoration: none; }
.dj-telefon a:hover { color: var(--wp--preset--color--zar); }

/* Lista z punktami-heksagonami */
.dj-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: .6rem; }
.dj-lista li { position: relative; padding-left: 1.6rem; }
.dj-lista li::before { content: ""; position: absolute; left: 0; top: .5em; width: .75rem; height: .65rem; background: var(--wp--preset--color--bursztyn); clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%); }

/* Atrakcje (strona Oferta) */
.dj-atrakcje > .wp-block-group { gap: .6rem; padding: 0 0 1.2rem; border-bottom: 1px solid var(--wp--preset--color--deski); }
.dj-atrakcje figure { margin: 0 0 .5rem; overflow: hidden; border-radius: 10px; }
.dj-atrakcje figure img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; transition: transform .6s ease; }
.dj-atrakcje > .wp-block-group:hover figure img { transform: scale(1.05); }
.dj-atrakcje h3 { font-size: 1.15rem; }
.dj-atrakcje p { color: var(--wp--preset--color--popiol); margin: 0; }

@media (prefers-reduced-motion: reduce) {
	.dj-karta, .dj-karta .wp-block-cover__image-background, .wp-block-gallery.is-style-slider figure img, .dj-atrakcje figure img, .wp-block-button__link { transition: none; }
}

/* =================================================================
   Szerokie ekrany: treść okładek „przy lewej” trzyma się środkowego pasa 1280 px
   (WordPress domyślnie przykleja ją do lewej krawędzi ekranu).
   ================================================================= */
.wp-block-cover.has-custom-content-position.dj-hero .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.dj-kontakt-pas .wp-block-cover__inner-container,
.wp-block-cover.has-custom-content-position.dj-naglowek-strony .wp-block-cover__inner-container {
	width: 100% !important; max-width: 1280px; margin-inline: auto !important;
}

/* Kalendarz terminów w nowym stylu (strona główna, Kalendarz, Oferta) */
.djk__nazwa { font-size: 1.3rem !important; font-weight: 800; letter-spacing: -.01em; }
.djk__soboty { font-size: .8rem !important; }
.djk__miesiac { padding: 1.25rem; background: rgba(11, 14, 20, .55); border: 1px solid var(--wp--preset--color--deski); border-radius: 12px; }
.djk__dzien > a, .djk__dzien > span { border-radius: 8px; font-size: .85rem; }
.dj-kalendarz-sekcja .djt { margin: 1.4rem 0 1.2rem !important; }
.dj-kalendarz-sekcja .djt__naglowek { font-size: .9rem; }

/* =================================================================
   Poprawki po przeglądzie (QA)
   ================================================================= */
/* Menu na telefonie: rozmycie tła na pseudo-elemencie, bo backdrop-filter na nagłówku
   zamykał pełnoekranowe menu w pasku wysokości nagłówka. */
.dj-naglowek { backdrop-filter: none; }
.dj-naglowek::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.dj-marka, .dj-marka a { white-space: nowrap; }
.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open { padding: 6.5rem 1.75rem 2rem; }
.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; }
.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start !important; }
.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
/* Hamburger już od tabletu (menu z 7 pozycjami nie mieści się poniżej ~1180 px). */
@media (max-width: 1179px) {
	.dj-naglowek .wp-block-navigation__responsive-container-open { display: flex !important; }
	.dj-naglowek .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.dj-naglowek .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > a { font-size: 1.05rem; }
}

/* Karty wydarzeń: zawsze 4 równe kolumny (na telefonie 2), tytuły na wysokość 2 linii. */
.dj-karty { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 781px) { .dj-karty { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.dj-karta h3 { grid-template-rows: auto 2.6em; align-content: end; }

/* Okładki: bez podwójnego odstępu na telefonie (treść równo z logo). */
.dj-hero .wp-block-cover__inner-container,
.dj-naglowek-strony .wp-block-cover__inner-container,
.dj-kontakt-pas .wp-block-cover__inner-container { padding-inline: 0 !important; }

/* Złota poświata sekcji bez ostrej krawędzi u góry. */
.dj-sekcja-ciemna { background-image: radial-gradient(55% 65% at 100% 40%, rgba(240, 185, 85, .07) 0%, rgba(11, 14, 20, 0) 70%); }

/* Kalendarz: 3 kolumny na komputerze (3 + 3 miesiące). */
@media (min-width: 1000px) { .djk__miesiace { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }

/* Typografia: bez wiszących spójników i samotnych słów. */
h1, h2, h3, .djo__naglowek { text-wrap: balance; }
p, li { text-wrap: pretty; }

/* Slider: cień pod zdjęciami nieucięty. */
.wp-block-gallery.is-style-slider.has-nested-images { padding-bottom: 26px !important; }

/* Dokumenty (polityka prywatności): spokojniejsze nagłówki. */
.dj-dokument h2 { font-size: clamp(1.25rem, 2.2vw, 1.7rem) !important; margin-top: 2.2em !important; }
.dj-dokument h3 { font-size: 1.1rem !important; margin-top: 1.6em !important; }
.dj-dokument li + li { margin-top: .4em; }
.dj-dokument button.djz-link { all: unset; color: var(--wp--preset--color--bursztyn); text-decoration: underline; cursor: pointer; }

/* Stopka: linki prawne w jednym kolorze. */
.dj-stopka-dol .djz-link, .dj-stopka-dol a { color: #9aa1ad !important; }
.dj-stopka-dol .djz-link:hover, .dj-stopka-dol a:hover { color: var(--wp--preset--color--bursztyn) !important; }

/* Pas kontaktu: czytelniejszy opis na zdjęciu. */
.dj-kontakt-pas .has-popiol-color { color: #c9ced6 !important; }
