/*
Theme Name: Nad Stawami u Wiktora
Theme URI: https://example.com
Author: Kuba
Description: Jasny, miętowo-błękitny motyw blokowy dla pokoi gościnnych Noclegi nad Stawami u Wiktora w Radziądzu (Dolina Baryczy). W pełni edytowalny w edytorze witryny.
Version: 1.2.0
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: noclegi-u-wiktora
*/

/* Układ ogólny */
.wp-site-blocks > footer { margin-block-start: 0; }
.wp-site-blocks > main { margin-block-start: 0; }
main .entry-content > .alignfull:first-child { margin-block-start: 0; }
main .wp-block-post-content > * + .alignfull,
main .wp-block-post-content > .alignfull + * { margin-block-start: 0; }

/* Nagłówek */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: rgb(251 253 252 / 0.92);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }
.site-header .wp-block-site-logo img { border-radius: 12px; }
.site-header .wp-block-navigation-item__content {
	padding: 0.5rem 0.9rem;
	border-radius: 999px;
	color: var(--wp--preset--color--muted);
	text-decoration: none;
}
.site-header .wp-block-navigation-item__content:hover,
.site-header .current-menu-item > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--leaf-dark);
}
.site-header .wp-block-navigation__responsive-container-open {
	background: var(--wp--preset--color--mint);
	color: var(--wp--preset--color--leaf-dark);
	border-radius: 10px;
	padding: 8px;
}
/* Menu mobilne: rozwijany, półprzezroczysty panel pod nagłówkiem */
@media (max-width: 599px) {
	.site-header .wp-block-navigation__responsive-container.is-menu-open {
		position: fixed;
		top: calc(100% + 8px);
		left: auto;
		right: 12px;
		width: max-content;
		min-width: 0;
		max-width: calc(100vw - 24px);
		bottom: auto;
		height: auto;
		max-height: calc(100vh - 110px);
		overflow-y: auto;
		padding: 10px;
		border-radius: 18px;
		background: rgb(255 255 255 / 0.86) !important;
		backdrop-filter: blur(10px) saturate(1.2);
		-webkit-backdrop-filter: blur(10px) saturate(1.2);
		border: 1px solid rgb(211 232 220 / 0.9);
		box-shadow: 0 16px 40px rgb(31 58 51 / 0.16);
		animation: noclegiMenuDown 0.22s ease both;
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
		margin: 0;
		padding: 0;
		max-width: none;
		width: auto;
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		top: 4px;
		right: 4px;
		width: 36px;
		height: 36px;
		display: grid;
		place-items: center;
		border-radius: 10px;
		background: var(--wp--preset--color--mint);
		color: var(--wp--preset--color--leaf-dark);
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding: 0 !important;
		align-items: stretch !important;
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch !important;
		gap: 2px !important;
		width: auto;
		box-sizing: border-box;
		padding-right: 44px;
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100%;
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		display: block;
		box-sizing: border-box;
		width: 100%;
		white-space: nowrap;
		margin: 0 !important;
		text-align: left;
		padding: 10px 14px !important;
		border-radius: 12px;
		font-size: 1rem;
		color: var(--wp--preset--color--ink);
	}
	.site-header .wp-block-navigation__responsive-container.is-menu-open .current-menu-item > .wp-block-navigation-item__content,
	.site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
		background: rgb(230 245 237 / 0.9);
		color: var(--wp--preset--color--leaf-dark);
	}
	html.has-modal-open { overflow: auto; }
}
@keyframes noclegiMenuDown {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: none; }
}

/* Kolorowany tekst w nagłówkach bez tła zakreślacza */
mark.has-inline-color:not([style*="background"]) { background-color: transparent; }

/* Elementy powtarzalne */
.kicker {
	font-size: 0.8rem !important;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--leaf);
}
.lead { color: var(--wp--preset--color--muted); font-size: 1.15rem; max-width: 46ch; }
.muted { color: var(--wp--preset--color--muted); }
.card {
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 20px;
}
.card-plain { border-color: transparent; }
.tag {
	display: inline-block;
	align-self: flex-start;
	background: var(--wp--preset--color--sky);
	color: var(--wp--preset--color--water);
	font-weight: 800;
	font-size: 0.8rem !important;
	padding: 4px 10px;
	border-radius: 8px;
	line-height: 1.4;
}
.stars-line mark { background: none; }
.chips { gap: 10px !important; }
.chips > p {
	margin: 0 !important;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	padding: 8px 16px;
	font-weight: 600;
	font-size: 0.95rem;
}

/* Zastępcze zdjęcia (bloki Okładka – można podmienić na zdjęcie) */
.photo-ph { border-radius: 22px; overflow: hidden; }
.photo-ph .wp-block-cover__inner-container p {
	display: inline-block;
	background: rgb(255 255 255 / 0.88);
	color: var(--wp--preset--color--leaf-dark);
	font-weight: 700;
	font-size: 0.85rem;
	padding: 6px 12px;
	border-radius: 999px;
	margin: 0;
}
.card > .photo-ph { border-radius: 0; margin: 0; }
.card.has-photo { overflow: hidden; padding: 0 !important; align-items: stretch !important; }
.card.has-photo > * { width: 100%; align-self: stretch; }
.card > .wp-block-heading, .card > p, .card-body > * { max-width: 100%; }
.card.has-photo > .card-body { padding: 22px; }

/* Ilustracja w hero */
.hero-art img { border-radius: 28px; width: 100%; height: auto; }

/* Karty o równej wysokości */
.equal-cards > .wp-block-column { display: flex; flex-direction: column; flex-grow: 0; }
.equal-cards > .wp-block-column > .wp-block-group { display: flex; flex-direction: column; flex-grow: 1; }
.equal-cards .cta-bottom { margin-top: auto; }

/* Opinie */
.quote-text { font-family: var(--wp--preset--font-family--display); font-size: 1.2rem; line-height: 1.35; }

/* Pasek wezwania do działania */
.cta-band { border-radius: 28px; }
.cta-band .wp-block-button__link { background: var(--wp--preset--color--white); color: var(--wp--preset--color--leaf-dark); }
.cta-band .wp-block-button__link:hover { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--leaf-dark); }

/* Dane kontaktowe */
.contact-value { font-family: var(--wp--preset--font-family--display); font-size: 1.6rem; line-height: 1.2; }
.label-small {
	font-size: 0.72rem !important;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0 !important;
}
.label-small + * { margin-top: 0.15rem !important; }

/* Lista odległości */
.distance-list { list-style: none; padding: 0 !important; margin: 0; }
.distance-list li { padding: 12px 0; border-bottom: 1px solid var(--wp--preset--color--line); }
.distance-list li:last-child { border-bottom: 0; }

/* Nagłówek podstrony */
.page-hero .wp-block-post-excerpt__excerpt { color: var(--wp--preset--color--muted); font-size: 1.1rem; max-width: 60ch; margin-inline: auto; }
.page-hero .wp-block-post-excerpt__more-text { display: none; }

/* Stopka */
.site-footer a { color: var(--wp--preset--color--muted); text-decoration: none; }
.site-footer a:hover { color: var(--wp--preset--color--leaf-dark); }
.site-footer .wp-block-navigation-item__content { padding: 2px 0; }

/* Ruch */
@keyframes fadeUp { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.fade-up { animation: fadeUp 0.6s ease both; }
.hover-lift { transition: transform 0.2s ease, box-shadow 0.2s ease; }
.hover-lift:hover { transform: translateY(-4px); box-shadow: 0 12px 24px rgb(31 58 51 / 0.08); }
.animate-on-scroll { opacity: 0; transform: translateY(24px); transition: opacity 0.6s ease, transform 0.6s ease; }
.animate-on-scroll.is-visible { opacity: 1; transform: none; }
.no-js .animate-on-scroll { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
	.animate-on-scroll, .fade-up { opacity: 1 !important; transform: none !important; }
}

/* Edytor: animowane elementy zawsze widoczne */
.editor-styles-wrapper .fade-up,
.editor-styles-wrapper .animate-on-scroll {
	opacity: 1 !important;
	transform: none !important;
	animation: none !important;
	transition: none !important;
}
.editor-styles-wrapper .site-header { position: relative; }

/* Telefon */
@media (max-width: 781px) {
	.hero-columns { gap: 1.5rem !important; }
	.cta-band { text-align: left; }
}

/* Zdjęcia w kartach i sekcjach */
.card.has-photo > .card-img { margin: 0 !important; width: 100%; }
.card-img img { display: block; width: 100%; height: auto; }
.photo-round img, .hero-art img { border-radius: 24px; width: 100%; display: block; }
.photo-credit { font-size: 0.72rem !important; margin-top: 0.25rem !important; }
.photo-credit a { color: var(--wp--preset--color--muted); text-decoration: none; }
.photo-credit a:hover { text-decoration: underline; }

/* Galeria rozwijana */
.gal-page .gal-group + .gal-group { margin-top: var(--wp--preset--spacing--60) !important; }
.gal-head { width: 100%; }
.gal-head h2 { margin: 0; }
.gal-count { margin: 0 !important; }
.gal-lead { margin: 0 auto !important; width: 70%; align-self: center !important; }
.gal-lead img { display: block; width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: 24px; }
.gal-details { width: 100%; }
.gal-details > summary {
	list-style: none;
	cursor: pointer;
	width: fit-content;
	margin: 0 auto;
	padding: 11px 22px;
	border-radius: 999px;
	background: var(--wp--preset--color--mint);
	border: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--leaf-dark);
	font-weight: 700;
}
.gal-details > summary::-webkit-details-marker { display: none; }
.gal-details > summary:hover { background: var(--wp--preset--color--leaf); color: var(--wp--preset--color--white); }
.gal-details[open] > summary { display: none; }
.gal-details[open] > .gal-more { animation: fadeUp 0.35s ease both; }
.gal-more { margin: 0 auto !important; gap: 14px !important; width: 70%; justify-content: center; }
.gal-more.wp-block-gallery.has-nested-images figure.wp-block-image { flex-grow: 0 !important; }
.gal-more.wp-block-gallery.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 3; height: auto !important; object-fit: cover; }
.gal-more .wp-block-image img { border-radius: 18px; }
.gal-close { margin-top: 1rem !important; }
.editor-styles-wrapper .gal-details > summary { display: block; }
@media (max-width: 781px) {
	.gal-lead { width: 100%; }
	.gal-lead img { aspect-ratio: 40 / 21; border-radius: 18px; }
	.gal-more { gap: 10px !important; width: 100%; }
	.gal-more .wp-block-image img { border-radius: 14px; }
}

/* Karty ze zdjęciem i z tłem zastępczym – ta sama wysokość */
.card.has-photo > .wp-block-cover { min-height: 0 !important; aspect-ratio: 16 / 10 !important; flex: 0 0 auto; height: auto !important; }


/* ===== Formularz rezerwacji ===== */
.rez-card { background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--line); border-radius: 18px; padding: clamp(18px, 3vw, 28px); margin-top: 1.25rem; }
.rez-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; }
.rez-f { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.rez-full { grid-column: 1 / -1; }
.rez-form label, .rez-lbl { font-weight: 700; font-size: 0.88rem; }
.rez-form label i, .rez-lbl i { font-style: normal; color: var(--wp--preset--color--muted); font-weight: 600; }
.rez-form input:not([type="checkbox"]):not([type="radio"]), .rez-form select, .rez-form textarea {
	font: inherit; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--background);
	border: 2px solid var(--wp--preset--color--line); border-radius: 12px; padding: 0.65rem 0.85rem;
	width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
}
.rez-form textarea { resize: vertical; min-height: 110px; }
.rez-form input[type="date"] { -webkit-appearance: none; appearance: none; display: block; min-height: 2.9rem; text-align: left; overflow: hidden; }
.rez-form input[type="date"]::-webkit-date-and-time-value { text-align: left; min-width: 0; }
.rez-form input[type="date"]::-webkit-datetime-edit { padding: 0; max-width: 100%; }
.rez-form input:hover, .rez-form select:hover, .rez-form textarea:hover { border-color: var(--wp--preset--color--leaf); }
.rez-form input[aria-invalid="true"] { border-color: #b3402f; }
.rez-form input:focus-visible, .rez-form select:focus-visible, .rez-form textarea:focus-visible,
.rez-chip input:focus-visible + span, .rez-btn:focus-visible { outline: 3px solid var(--wp--preset--color--water); outline-offset: 2px; }
.rez-err { color: #b3402f; font-size: 0.85rem; font-weight: 600; }
.rez-alert { background: #fbeae6; color: #8a2f20; border-radius: 12px; padding: 0.8rem 1rem; margin-bottom: 16px; font-weight: 600; }
.rez-nights { font-size: 0.85rem; color: var(--wp--preset--color--water); font-weight: 700; min-height: 1.3em; }
.rez-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.rez-chip { position: relative; display: inline-block; }
.rez-chip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.rez-chip span { display: inline-block; padding: 0.5rem 0.95rem; border-radius: 999px; border: 2px solid var(--wp--preset--color--line); background: var(--wp--preset--color--background); font-weight: 700; font-size: 0.9rem; }
.rez-chip input:checked + span { background: var(--wp--preset--color--mint); border-color: var(--wp--preset--color--leaf); color: var(--wp--preset--color--leaf-dark); }
.rez-hint { color: var(--wp--preset--color--muted); font-size: 0.85rem; }
.rez-form .rez-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 0.86rem; color: var(--wp--preset--color--muted); font-weight: 400; }
.rez-consent input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--wp--preset--color--leaf); flex: none; }
.rez-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rez-submit { flex-direction: row; align-items: center; flex-wrap: wrap; gap: 14px; }
.rez-submit small { color: var(--wp--preset--color--muted); }
.rez-btn { font: inherit; font-weight: 800; background: var(--wp--preset--color--leaf); color: var(--wp--preset--color--white); border: 0; border-radius: 999px; padding: 0.85rem 1.7rem; cursor: pointer; text-decoration: none; display: inline-block; }
.rez-btn:hover { background: var(--wp--preset--color--leaf-dark); color: var(--wp--preset--color--white); }
.rez-btn-ghost { background: var(--wp--preset--color--white); color: var(--wp--preset--color--leaf-dark); border: 2px solid var(--wp--preset--color--line); padding: 0.75rem 1.5rem; }
.rez-btn-ghost:hover { background: var(--wp--preset--color--mint); color: var(--wp--preset--color--leaf-dark); }
.rez-ok { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.rez-ok h3 { margin: 0; font-size: 1.6rem; }
.rez-ok p { margin: 0; color: var(--wp--preset--color--muted); }
.rez-tick { width: 52px; height: 52px; border-radius: 50%; background: var(--wp--preset--color--mint); display: grid; place-items: center; color: var(--wp--preset--color--leaf-dark); }
@media (max-width: 560px) { .rez-form { grid-template-columns: minmax(0, 1fr); } }
