/* =====================================================
   YOKUCHI — GLOBAL STYLES FOR WORDPRESS PAGES
   -----------------------------------------------------
   Zwykłe strony mają być czystym layoutem pod bloki
   Carbon Fields, bez wyglądu wpisu blogowego.
   Celowo umieszczone na końcu pliku, aby nadpisać
   wcześniejsze style .site-main / .ast-article-single.
   ===================================================== */

/* Tylko zwykłe strony — bez strony głównej */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) {
	background: #fff;
}

/* Główny wrapper strony z miejscem pod fixed header */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .site-content {
	width: 100%;
	max-width: none;
	margin: 0;
	padding-top: var(--yokuchi-header-height, 94px);
}

/*
 * Zwykłe strony trzymamy w tej samej szerokości co cały blok
 * "Yokuchi łączy naturę z precyzją nauki" na stronie głównej.
 * Dzięki temu istniejące i ręcznie dodawane strony nie
 * przyklejają się do krawędzi i nie wchodzą pod menu.
 */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .site-main.ast-container {
	display: block !important;
	width: min(calc(100% - 80px), 1440px) !important;
	max-width: 1440px !important;
	margin: 0 auto !important;
	padding: 56px 0 88px !important;
}

/* Główna kolumna treści */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .content-area {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding: 0 !important;
}

/* Bez sidebaru na zwykłych stronach */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .widget-area,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) #secondary {
	display: none !important;
}

/*
 * Najważniejszy reset.
 * .ast-article-single w bazowym CSS wygląda jak karta blogowa:
 * białe tło, border i padding 42px.
 */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .ast-article-single,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) article.page,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .type-page {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

/* Ukrywamy automatyczny tytuł/meta generowane przez szablon WP */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-header,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .page-header,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-meta,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-footer,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .post-navigation,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .comments-area {
	display: none !important;
}

/* Treść strony dziedziczy szerokość głównego kontenera */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content {
	width: 100%;
	max-width: none;
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * Carbon Fields i zwykłe grupy trzymają się kontenera strony.
 */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content > section,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content > .wp-block-group,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content > .wp-block-columns {
	width: 100%;
	max-width: none;
	margin-right: auto;
	margin-left: auto;
}

body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content > .wp-block-cover {
	width: 100%;
	max-width: none;
	margin-right: auto;
	margin-left: auto;
}

/* Gutenberg full/wide */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content .alignfull {
	width: 100%;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
}

body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content .kan-hero.alignfull {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content .alignwide {
	width: 100%;
	max-width: 1440px;
	margin-left: auto;
	margin-right: auto;
}

/*
 * Pierwszy i ostatni element entry-content nie powinny dostawać
 * przypadkowych marginesów z WordPressa.
 */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content > *:first-child {
	margin-top: 0;
}

body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content > *:last-child {
	margin-bottom: 0;
}

/* Nie narzucamy blogowej typografii nagłówkom z customowych bloków */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content h1,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content h2,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content h3,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content h4,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content h5,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content h6 {
	margin-top: 0;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 781px) {

	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .site-main.ast-container {
		width: calc(100% - 32px) !important;
		max-width: none !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding: 0 !important;
	}

	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .content-area,
	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content {
		width: 100% !important;
		max-width: none !important;
		margin-right: auto !important;
		margin-left: auto !important;
		padding: 0 !important;
	}

	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .site-content {
		padding-top: var(--yokuchi-header-height, 47px);
	}

	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .site-main.ast-container {
		padding-top: 36px !important;
		padding-bottom: 56px !important;
	}

	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content .alignwide {
		width: 100%;
	}

	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content .alignfull {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page) .entry-content .kan-hero.alignfull {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Full-width Carbon hero opt-in: only pages with this block escape the regular page container. */
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.yokuchi-universal-hero--full) .site-content,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.kan-hero--full) .site-content {
	padding-top: 0 !important;
}

body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.yokuchi-universal-hero--full) .site-main.ast-container,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.yokuchi-universal-hero--full) .content-area,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.yokuchi-universal-hero--full) .ast-article-single,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.yokuchi-universal-hero--full) .entry-content,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.kan-hero--full) .site-main.ast-container,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.kan-hero--full) .content-area,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.kan-hero--full) .ast-article-single,
body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.kan-hero--full) .entry-content {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.page:not(.home):not(.front-page):not(.page-template-page-yokuchi-home):not(.page-template-page-blog):not(.page-template-page-blog-php):not(.yokuchi-blog-page):has(.kan-hero--full) .entry-content > .kan-hero--full {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-top: 0 !important;
	margin-right: calc(50% - 50vw) !important;
	margin-left: calc(50% - 50vw) !important;
}
body:has(.yokuchi-brand-text) .yokuchi-universal-hero__image img {
	width: 100%;
	max-width: 100%;
}

.yokuchi-section-banner {
	position: relative;
	display: flex;
	align-items: center;
	min-height: clamp(280px, 34vw, 470px);
	background: #f6f3f0;
	overflow: hidden;
}
.yokuchi-section-banner::before {
	content: "";
	position: absolute;
	inset: 0 0 0 42%;
	background: var(--yokuchi-section-banner-image) no-repeat center 53% / cover;
}
.yokuchi-section-banner::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #f6f3f0 17%, rgba(246,243,240,.95) 38%, rgba(246,243,240,0) 66%);
}
.yokuchi-section-banner__inner {
	position: relative;
	z-index: 1;
	width: min(100% - 48px, 1360px);
	margin: 0 auto;
}
.yokuchi-section-banner h1 {
	max-width: 52%;
	margin: 0;
	font-size: clamp(26px, 3vw, 46px);
	font-weight: 500;
	letter-spacing: .24em;
	line-height: 1.2;
	text-transform: uppercase;
}
.yokuchi-section-banner__inner > span {
	display: block;
	width: 48px;
	height: 2px;
	margin-top: 28px;
	background: #ed1b24;
}
@media (max-width: 700px) {
	.yokuchi-section-banner { min-height: 440px; align-items: flex-start; }
	.yokuchi-section-banner::before { inset: 34% 0 0; background-size: cover; }
	.yokuchi-section-banner::after { background: linear-gradient(#f6f3f0 4%, rgba(246,243,240,.94) 30%, rgba(246,243,240,0) 65%); }
	.yokuchi-section-banner__inner { padding-top: 54px; }
	.yokuchi-section-banner h1 { max-width: 100%; font-size: 30px; }
}

/* Keep the catalog download action centered in its WordPress page content. */
body.page-id-11101 .entry-content .wp-block-buttons.aligncenter {
	display: flex;
	justify-content: center;
}
@media (max-width: 781px) {
	body.page-id-11101 .entry-content .wp-block-buttons.aligncenter .wp-block-button {
		width: auto !important;
	}
}

/* Privacy policy imported from the client's formatted document. */
.yokuchi-privacy-policy {
	box-sizing: border-box;
	width: min(100% - 40px, 1040px);
	margin: 0 auto;
	padding: clamp(56px, 7vw, 104px) 0;
	color: #555;
	font-size: 16px;
	line-height: 1.75;
}
.yokuchi-privacy-policy h1 {
	margin: 0 0 14px;
	color: #242424;
	font-size: clamp(28px, 4vw, 48px);
	font-weight: 500;
	letter-spacing: .15em;
	line-height: 1.2;
	text-transform: uppercase;
}
.yokuchi-privacy-policy > h1 + p {
	margin: 0 0 6px;
	font-size: 18px;
}
.yokuchi-privacy-policy h2 {
	margin: 64px 0 28px;
	color: #292929;
	font-size: clamp(21px, 2.2vw, 29px);
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.3;
}
.yokuchi-privacy-policy h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	margin-top: 18px;
	background: #ed1c24;
}
.yokuchi-privacy-policy p { margin: 0 0 18px; }
.yokuchi-privacy-policy ol,
.yokuchi-privacy-policy ul {
	margin: 0 0 26px;
	padding-left: 1.65em;
}
.yokuchi-privacy-policy ul { list-style: disc; }
.yokuchi-privacy-policy ol { list-style: decimal; }
.yokuchi-privacy-policy li { margin: 0 0 10px; padding-left: .35em; }
.yokuchi-privacy-policy li > p { margin: 0; }
.yokuchi-privacy-policy li > ul,
.yokuchi-privacy-policy li > ol { margin: 12px 0 4px; }
.yokuchi-privacy-policy a { color: #d71920; text-decoration: underline; text-underline-offset: 3px; }
.yokuchi-privacy-policy .yokuchi-policy-table {
	margin: 32px 0 38px;
	overflow-x: auto;
	border: 1px solid #dedbd8;
}
.yokuchi-privacy-policy table {
	width: 100%;
	min-width: 680px;
	margin: 0;
	border: 0;
	border-collapse: collapse;
}
.yokuchi-privacy-policy th,
.yokuchi-privacy-policy td {
	padding: 15px 18px;
	border: 0;
	border-bottom: 1px solid #e6e3e0;
	text-align: left;
	vertical-align: top;
}
.yokuchi-privacy-policy th {
	background: #f4f1ee;
	color: #262626;
	font-weight: 600;
}
.yokuchi-privacy-policy tr:last-child td { border-bottom: 0; }
@media (max-width: 700px) {
	.yokuchi-privacy-policy { width: min(100% - 32px, 1040px); font-size: 15px; }
	.yokuchi-privacy-policy h1 { letter-spacing: .09em; }
	.yokuchi-privacy-policy h2 { margin-top: 48px; }
}
