/**
 * Motyw Tauber — warstwa marki nad blokami RSD Blocks.
 *
 * Geometria wzięta z makiet „www Tauber 2025” (szerokość makiety 2000 px):
 * rama 1608 px, kontener 1100 px, podział kolumn 650 / 447, pas pod nagłówkiem 434 px
 * (384 granatu + 50 stali), zakładka tytułu 96 px nachodząca 48 px na panel.
 */

:root {
	--tb-frame: 1608px;
	--tb-container: 1100px;
	--tb-split: 59.25%;
	--tb-band-h: 434px;
	--tb-band-strip: 50px;
	--tb-tab-h: 96px;
	--tb-overlap: 48px;
	--tb-pale: var(--wp--preset--color--pale, #edf9fa);
	--tb-navy: var(--wp--preset--color--navy, #1d4059);
	--tb-steel: var(--wp--preset--color--steel, #2c79a8);
	--tb-blue: var(--wp--preset--color--primary, #0087c9);
	--tb-blue-dark: var(--wp--preset--color--primary-dark, #045a99);
	--tb-sky: var(--wp--preset--color--sky, #84bae0);
	--tb-green: var(--wp--preset--color--green, #8ec04a);
	/* Lewa krawędź ramy i kontenera liczone od środka ekranu; ujemne wartości obcina samo tło. */
	--tb-frame-left: calc(50% - var(--tb-frame) / 2);
	--tb-frame-right: calc(50% + var(--tb-frame) / 2);
	--tb-split-x: calc(50% - var(--tb-container) / 2 + var(--tb-container) * 0.5925);
}

@media (max-width: 1024px) {
	:root {
		--tb-band-h: 320px;
		--tb-band-strip: 36px;
		--tb-tab-h: 72px;
		--tb-overlap: 36px;
	}
}

@media (max-width: 767px) {
	:root {
		--tb-band-h: 220px;
		--tb-band-strip: 24px;
		--tb-tab-h: 60px;
		--tb-overlap: 28px;
	}
}

/* ---------- Rama strony ---------- */

.wp-site-blocks {
	background:
		linear-gradient(
			90deg,
			#fff var(--tb-frame-left),
			var(--tb-pale) var(--tb-frame-left) var(--tb-frame-right),
			#fff var(--tb-frame-right)
		);
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.tb-main--sections .wp-block-post-content > * {
	margin-block: 0;
}

.tb-main--sections {
	padding-bottom: 4rem;
}

.wp-site-blocks > .tb-main,
.wp-site-blocks > main {
	flex: 1 0 auto;
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* ---------- Nagłówek ---------- */

.tb-header {
	background:
		linear-gradient(
			90deg,
			#fff var(--tb-frame-left),
			var(--tb-pale) var(--tb-frame-left) var(--tb-split-x),
			#fff var(--tb-split-x)
		);
}

.tb-header__inner {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	gap: 1.5rem;
	justify-content: space-between;
	margin: 0 auto;
	max-width: calc(var(--tb-container) + 3rem);
	min-height: 146px;
	padding: 0 1.5rem;
}

.tb-header__logo img {
	display: block;
	height: auto;
}

.tb-header__nav {
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 0.95rem;
}

.tb-nav {
	font-size: 1.0625rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.tb-nav .wp-block-navigation__container {
	gap: 1.15rem;
}

.tb-nav .wp-block-navigation-item__content {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.tb-nav .wp-block-navigation-item__content:hover,
.tb-nav .wp-block-navigation-item__content:focus-visible,
.tb-nav .current-menu-item > .wp-block-navigation-item__content,
.tb-nav [aria-current="page"] {
	color: var(--tb-blue);
}

.tb-top-bar {
	align-items: center;
	display: flex;
	font-size: 0.9375rem;
	gap: 0.6rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.tb-top-bar__langs {
	display: flex;
	gap: 0.6rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.tb-top-bar a {
	align-items: center;
	color: var(--wp--preset--color--contrast);
	display: inline-flex;
	gap: 0.15rem;
	text-decoration: none;
}

.tb-top-bar a:hover,
.tb-top-bar a:focus-visible {
	color: var(--tb-blue);
}

.tb-top-bar svg {
	display: block;
	height: 0.7em;
	width: 1.15em;
}

.tb-top-bar__linkedin svg {
	color: var(--wp--preset--color--contrast);
	height: 0.8em;
	width: 0.8em;
}

/* ---------- Pas pod nagłówkiem ---------- */

.tb-band {
	background:
		linear-gradient(
			180deg,
			var(--tb-navy) 0 calc(var(--tb-band-h) - var(--tb-band-strip)),
			var(--tb-steel) calc(var(--tb-band-h) - var(--tb-band-strip)) var(--tb-band-h),
			transparent var(--tb-band-h)
		);
}

/* Szablony z samym tytułem: niższy pas i zakładka na jego dolnej krawędzi. */
.tb-band--title {
	--tb-band-h: 180px;
	--tb-band-strip: 36px;
	padding-top: calc(var(--tb-band-h) - var(--tb-tab-h) / 2);
}

.tb-band--title .wp-block-query-title + .tb-tab--fallback,
.tb-band--title .wp-block-query-title:empty {
	display: none;
}

.tb-band__media,
.tb-band__media img {
	display: block;
	margin: 0;
	width: 100%;
}

.tb-band__media img {
	height: var(--tb-band-h);
	object-fit: cover;
}

/* ---------- Zakładka tytułu i panele ---------- */

.tb-tab {
	align-items: center;
	background: var(--tb-green);
	box-sizing: border-box;
	color: #fff;
	display: flex;
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 400;
	justify-content: center;
	letter-spacing: 0.03em;
	line-height: 1.1;
	margin: 0;
	min-height: var(--tb-tab-h);
	min-width: min(412px, 100%);
	padding: 0.25em 0.8em;
	position: relative;
	text-transform: uppercase;
	width: fit-content;
	z-index: 2;
}

.tb-tab a {
	color: inherit;
	text-decoration: none;
}

.tb-tab--sky {
	background: var(--tb-sky);
}

.tb-tab--green {
	background: var(--tb-green);
}

/* Nazwa własna („Tauber Wasilewski”) zostaje w zapisie zdaniowym, jak w makiecie. */
.tb-wina .tb-tab {
	font-size: clamp(1.75rem, 2.9vw, 2.75rem);
	text-transform: none;
}

.tb-split .rsd-section-column__inner > .tb-tab--overlap {
	margin-top: calc(var(--tb-band-strip) * -1);
}

.tb-tab--narrow {
	min-width: min(412px, 100%);
}

.tb-tab--full {
	display: flex;
	width: 100%;
}

.tb-box {
	background: var(--tb-blue);
	box-sizing: border-box;
	color: #fff;
	margin: 0;
}

.tb-box a {
	color: inherit;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

.tb-box a:hover,
.tb-box a:focus-visible {
	color: var(--tb-pale);
}

.tb-box--dark {
	background: var(--tb-blue-dark);
}

/* Panel strony głównej i kontaktu: zakładka 48 px nad niebieskim polem. */
.tb-panel > .rsd-section__inner {
	padding-top: var(--tb-overlap);
}

.tb-panel .rsd-section-column__inner {
	position: relative;
}

/* Biały prostokąt w prawej kolumnie ramy, nad panelem (detal makiety). */
.tb-panel .rsd-section-column__inner::before {
	background: #fff;
	content: "";
	height: calc(var(--tb-overlap) * 2);
	position: absolute;
	right: 0;
	top: calc(var(--tb-overlap) * -1);
	width: calc(100% - var(--tb-split));
}

.tb-panel .tb-tab {
	margin-bottom: calc(var(--tb-overlap) * -1);
}

.tb-box--lead {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.47;
	min-height: 333px;
	padding: calc(var(--tb-overlap) + 2.6rem) clamp(1.5rem, 9%, 100px) 3.4rem clamp(1.5rem, 6.6%, 73px);
	position: relative;
	z-index: 1;
}

.tb-box--lead p {
	margin: 0;
	max-width: 940px;
}

.tb-box--contact {
	padding-left: clamp(1.5rem, 9.5%, 104px);
}

.tb-box--contact a {
	text-decoration: none;
}

.tb-box--contact a:hover,
.tb-box--contact a:focus-visible {
	text-decoration: underline;
}

/* ---------- Układ dwóch kolumn (Wina, O nas, Aktualności) ---------- */

.tb-split .rsd-section-column__inner > * {
	margin-block: 0;
}

.tb-split .wp-block-image img {
	display: block;
	height: auto;
	width: 100%;
}

.tb-split .tb-band__media img {
	height: var(--tb-band-h);
}

.tb-split .tb-box p {
	margin: 0;
}

/* Wina */
.tb-wina > .rsd-section__inner {
	background: linear-gradient(0deg, var(--tb-green) 0 36px, transparent 36px) content-box;
}

.tb-split .rsd-section-column__inner > .tb-box--wina,
.tb-split .rsd-section-column__inner > .tb-box--text {
	margin-top: calc(var(--tb-band-strip) - var(--tb-tab-h));
}

.tb-box--wina {
	background:
		linear-gradient(
			180deg,
			var(--tb-blue) 0 calc(100% - 208px),
			transparent calc(100% - 208px)
		);
	padding-top: calc(var(--tb-tab-h) - var(--tb-band-strip) + 2.2rem);
}

.tb-box--wina p {
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.4;
	max-width: 480px;
	padding: 0 1.5rem 1.5rem clamp(1.5rem, 11%, 72px);
}

.tb-wina__karafka {
	margin-left: 31.4% !important;
	position: relative;
	z-index: 1;
}

.tb-wina__karafka img {
	aspect-ratio: 446 / 295;
	object-fit: cover;
}

.tb-wina__degustacja img {
	aspect-ratio: 446 / 360;
	object-fit: cover;
}

.tb-wina__cta {
	margin: 6rem 0 63px !important;
}

.tb-wina__cta .wp-block-button__link {
	background: transparent;
	border: 1.5px solid var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1;
	min-width: 214px;
	padding: 0.35em 1.2em;
}

.tb-wina__cta .wp-block-button__link:hover,
.tb-wina__cta .wp-block-button__link:focus-visible {
	background: var(--tb-green);
	border-color: var(--tb-green);
	color: #fff;
}

/* O nas */
.tb-box--text {
	min-height: 428px;
	padding: calc(var(--tb-tab-h) - var(--tb-band-strip) + 2.5rem) clamp(1.5rem, 13%, 85px) 3rem clamp(1.5rem, 11%, 72px);
}

.tb-box--text p {
	font-size: 1.25rem;
	line-height: 1.48;
}

.tb-onas__side > .rsd-section-column__inner {
	background: #fff;
	height: 100%;
}

.tb-onas__logo img {
	aspect-ratio: 446 / 279;
	object-fit: cover;
}

.tb-onas__kubek img {
	aspect-ratio: 446 / 327;
	object-fit: cover;
}

.tb-onas__claim {
	color: var(--tb-blue-dark);
	font-size: clamp(1.5rem, 2.2vw, 2.125rem);
	line-height: 1.25;
	padding: 2.6rem 1.5rem 3rem clamp(1.5rem, 12.8%, 57px);
}

/* Aktualności */
.tb-news > .rsd-section__inner {
	min-height: var(--tb-band-h);
}

.tb-news__main > .rsd-section-column__inner,
.tb-news__side > .rsd-section-column__inner {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.tb-news__heading {
	align-items: center;
	background: var(--tb-blue-dark);
	color: #fff;
	display: flex;
	font-size: clamp(1.25rem, 1.8vw, 1.75rem);
	font-weight: 700;
	box-sizing: border-box;
	flex: 0 0 auto;
	height: 146px;
	justify-content: flex-end;
	padding: 1rem 1.4rem;
	text-align: right;
}

.tb-news__box {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.37;
	padding: 2.5rem clamp(1.5rem, 9%, 58px);
}

.tb-news__side .tb-news__box {
	padding-left: clamp(1.5rem, 11.5%, 52px);
}

/* Karuzela wpisów: karty białe, strzałki poza kontenerem. */
.tb-news-list {
	--tb-arrow: 50px;
}

.tb-news-carousel {
	--rsd-carousel-gap: 16px;
	position: relative;
}

.tb-news-carousel.rsd-posts-carousel--nav-sides .rsd-posts-carousel__viewport {
	padding-inline: 0;
}

.tb-news-carousel .rsd-posts-carousel__controls {
	margin: 0;
}

.tb-news-carousel.rsd-posts-carousel--nav-sides .rsd-posts-carousel__button[data-rsd-carousel] {
	background: var(--tb-blue-dark);
	block-size: var(--tb-arrow);
	border: 0;
	box-shadow: none;
	color: #fff;
	font-size: 1.5rem;
	inline-size: var(--tb-arrow);
	inset-block-start: calc(50% - var(--tb-arrow) / 2);
}

.tb-news-carousel.rsd-posts-carousel--nav-sides .rsd-posts-carousel__button[data-rsd-carousel=prev] {
	inset-inline-start: calc(var(--tb-arrow) * -1 - 2.3rem);
}

.tb-news-carousel.rsd-posts-carousel--nav-sides .rsd-posts-carousel__button[data-rsd-carousel=next] {
	inset-inline-end: calc(var(--tb-arrow) * -1 - 2.3rem);
}

.tb-news-carousel .rsd-posts-carousel__button:hover:not(:disabled),
.tb-news-carousel .rsd-posts-carousel__button:focus-visible {
	background: var(--tb-blue);
	color: #fff;
}

.tb-news-carousel .rsd-card {
	background: #fff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	height: 100%;
}

.tb-news-carousel .rsd-card__media img {
	aspect-ratio: 257 / 146;
	object-fit: cover;
}

.tb-news-carousel .rsd-card__body {
	padding: 1.9rem 1rem 1.6rem;
}

.tb-news-carousel .rsd-card__title {
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 1.6rem;
	min-height: 2.6em;
	text-align: center;
}

.tb-news-carousel .rsd-card__title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.tb-news-carousel .rsd-card__excerpt {
	font-size: 0.8125rem;
	line-height: 1.55;
}

/* ---------- Szablony z treścią (wpis, strona zwykła, listy) ---------- */

.tb-article {
	background: #fff;
	box-sizing: border-box;
	margin: 0 auto 4rem !important;
	max-width: calc(var(--tb-container) + 0px);
	padding: calc(var(--tb-tab-h) / 2 + 2.5rem) clamp(1.5rem, 6%, 73px) 3rem;
}

.tb-band--title > * {
	margin-left: auto !important;
	margin-right: auto !important;
}

.tb-band--title .tb-tab {
	display: flex;
	margin-bottom: calc(var(--tb-tab-h) / -2);
	width: fit-content;
}

.tb-band--title {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.tb-band--title > .tb-tab {
	margin-left: max(0px, calc(50% - var(--tb-container) / 2)) !important;
}

.tb-article__title {
	color: var(--tb-blue-dark);
	font-size: var(--wp--preset--font-size--x-large);
}

.tb-article__date {
	color: #5b6672;
	font-size: var(--wp--preset--font-size--small);
}

.tb-listing {
	background: transparent;
}

.tb-card {
	background: #fff;
	height: 100%;
	padding-bottom: 1.25rem;
}

.tb-card > :not(.wp-block-post-featured-image) {
	padding-inline: 1rem;
}

.tb-card__title {
	font-size: 1rem;
	font-weight: 700;
}

.tb-card__title a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.tb-card__excerpt {
	font-size: 0.875rem;
}

.tb-related {
	margin-bottom: 4rem;
}

/* ---------- Stopka ---------- */

.tb-footer {
	background: var(--tb-navy);
	border-top: 8px solid var(--tb-steel);
	color: #fff;
	font-size: var(--wp--preset--font-size--small);
	padding: 2.5rem 1.5rem;
}

.tb-footer a {
	color: #fff;
}

.tb-footer a:hover,
.tb-footer a:focus-visible {
	color: var(--tb-green);
}

.tb-footer__inner {
	gap: 1.5rem 3rem;
	margin-inline: auto !important;
	max-width: var(--tb-container) !important;
}

.tb-footer__inner p {
	margin: 0;
}

/* ---------- Fokus ---------- */

:where(a, button, .wp-block-button__link):focus-visible {
	outline: 2px solid var(--tb-green);
	outline-offset: 2px;
}

/* ---------- Tablet i telefon ---------- */

@media (max-width: 1024px) {
	.tb-header {
		background: var(--tb-pale);
	}

	.tb-header__inner {
		min-height: 110px;
	}

	.tb-header__logo img {
		width: 170px !important;
	}

	.tb-header__nav {
		gap: 0.8rem;
	}

	.tb-panel .rsd-section-column__inner::before {
		display: none;
	}

	.tb-box--lead {
		min-height: 0;
	}

	.tb-wina__cta {
		margin: 2rem 0 60px !important;
	}
}

@media (max-width: 1260px) {
	/* Brak miejsca poza kontenerem — strzałki schodzą pod karty. */
	.tb-news-carousel .rsd-posts-carousel__controls {
		margin-top: 1.25rem;
	}

	.tb-news-carousel.rsd-posts-carousel--nav-sides .rsd-posts-carousel__button[data-rsd-carousel] {
		position: static;
	}

	.tb-news-carousel .rsd-posts-carousel__nav {
		gap: 1rem;
	}
}

@media (max-width: 1024px) {
	.tb-news-carousel .rsd-posts-carousel__track {
		--rsd-carousel-n: 2;
	}
}

@media (max-width: 600px) {
	.tb-news-carousel .rsd-posts-carousel__track {
		--rsd-carousel-n: 1;
	}
}

@media (max-width: 767px) {
	.tb-header__inner {
		min-height: 88px;
	}

	.tb-header__logo img {
		width: 140px !important;
	}

	.tb-top-bar {
		font-size: 0.8125rem;
	}

	.tb-tab {
		min-width: 0;
		width: fit-content;
	}

	/* Kolumny jedna pod drugą: pas zostaje tylko za pierwszym zdjęciem. */
	.tb-split .tb-split__side .tb-band__media img {
		height: auto;
	}

	.tb-split__side {
		background: transparent;
	}

	.tb-box--wina {
		background: var(--tb-blue);
		padding-bottom: 0;
	}

	.tb-wina__karafka {
		margin-left: 0 !important;
	}

	.tb-wina > .rsd-section__inner {
		background: none;
	}

	.tb-wina__cta {
		justify-content: center !important;
		margin: 2rem 0 !important;
	}

	.tb-box--text {
		min-height: 0;
	}

	.tb-news__heading {
		height: auto;
		justify-content: flex-start;
		padding: 2rem 1.5rem;
		text-align: left;
	}

	.tb-news > .rsd-section__inner {
		min-height: 0;
	}

	.tb-news__side .tb-tab--full {
		order: -1;
	}

	.tb-article {
		padding-inline: 1.25rem;
	}
}
