/*
 * Content area.
 * .page-content  = wrapper of a page's blocks (hero-layout pages; generic pages use .page-content--generic).
 * .entry-content = Gutenberg text styling: the Advanced Scripts "gutenberg stili" that Bricks applied to
 *                  post content (.brxe-text-basic h2/h3/p/.wp-block-list/…), ported 1:1.
 * Element rules use :where() (zero specificity) and skip anything inside a .ju-block, so blocks and
 * components keep their own styling with a single class selector.
 */
.page-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	padding: var(--section-space-s) var(--gutter) var(--section-space-m);
}
.page-content > * {
	width: 100%;
	max-width: var(--site-width);
}
.page-content > .alignwide { max-width: var(--site-width); }
.page-content > .alignfull { max-width: none; }
.page-content > * + * { margin-top: var(--space-m); }
.page-content > .ju-block + .ju-block { margin-top: var(--section-space-s); }

/* ---------- Gutenberg text (as-scripts.txt 352–505) ---------- */
:where(.entry-content, .is-root-container) :where(h2:not(.ju-block *)) {
	font-size: 3.9rem;
	font-weight: 700;
	letter-spacing: -1.1px;
	color: var(--secondary);
	padding-top: 6.4rem;
	padding-bottom: 4rem;
}
:where(.entry-content, .is-root-container) :where(h3:not(.ju-block *)) {
	padding-top: 6.4rem;
	padding-bottom: 4rem;
	font-size: 2.3rem;
	font-weight: 700;
	color: var(--secondary);
	letter-spacing: -1.1px;
}
:where(.entry-content, .is-root-container) :where(h4:not(.ju-block *)) {
	font-size: 2rem;
	line-height: 2.4rem;
	letter-spacing: -1.1px;
}
:where(.entry-content, .is-root-container) :where(p:not(.ju-block *)) {
	color: var(--secondary);
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: -1.1px;
	line-height: 2.4rem;
	margin: 0;
	padding-bottom: 3.2rem;
}
:where(.entry-content, .is-root-container) :where(p:not(.ju-block *) a) { color: var(--primary); }
:where(.entry-content, .is-root-container) :where(p:not(.ju-block *):last-child) { padding-bottom: 0; }
:where(.entry-content, .is-root-container) :where(strong, b) { font-weight: 700; }
:where(.entry-content, .is-root-container) :where(ul:not(.ju-block *), ol:not(.ju-block *)) { margin: 1em 0; padding-left: 4rem; } /* UA 1em as on Bricks (scales with the list font size) */

:is(.entry-content, .is-root-container) .wp-block-image:not(.ju-block *) { margin: 2.4rem 0 4.8rem; }
:is(.entry-content, .is-root-container) .wp-block-image:not(.ju-block *) img { width: 100%; }

:is(.entry-content, .is-root-container) .wp-block-list:not(.ju-block *) {
	list-style: none;
	padding-left: 0;
}
:is(.entry-content, .is-root-container) .wp-block-list:not(.ju-block *) > li {
	position: relative;
	padding-left: 32px;
	padding-bottom: 3.2rem;
	color: var(--secondary);
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: -1.1px;
	line-height: 2.4rem;
}
:is(.entry-content, .is-root-container) .wp-block-list:not(.ju-block *) > li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .8rem;
	width: 1.6rem;
	height: 1.1rem;
	background: url("../img/list-bullet.svg") no-repeat 0 0 / contain;
}
:is(.entry-content, .is-root-container) .wp-block-list:not(.ju-block *) > li:last-child { padding-bottom: 0; }

/* Editor-assigned paragraph/heading classes (Global CSS). */
:is(.entry-content, .is-root-container) .about-company-before-title-p,
:is(.entry-content, .is-root-container) .aboutcompany-p-beforelist { padding-bottom: 0; }
:is(.entry-content, .is-root-container) .special-p-text { padding-bottom: 7.2rem; }
:is(.entry-content, .is-root-container) .speical-title { margin: 0; padding-top: 6.4rem; padding-bottom: 2rem; }
.before-table-p { padding-bottom: 0 !important; }
.big-gap-p { padding-bottom: 5.6rem !important; }
.small-padding-p { padding-bottom: 1.2rem !important; }
.small-p { padding-bottom: 0 !important; }
.wide-column { gap: 17.3rem !important; }
.sample-block h2 { padding: 0 !important; }
.sample-block .wp-block-list { margin: -1rem; }
.sample-block .wp-block-list li:last-child { padding-bottom: 1.6rem; }
.reeding-heading { padding-bottom: 1.7rem !important; font-size: 2.8rem !important; }
.reeding-p { color: var(--base) !important; }

/* Bricks frontend blockquote (wp-block-quote): grey left rule, Georgia 1.3em for bare quote text. */
:where(.entry-content, .is-root-container) blockquote {
	margin: 15px 0;
	padding: 0 0 0 30px;
	border-left: 4px solid #dddedf;
	font-family: georgia, "Times New Roman", times, serif;
	font-size: 1.3em;
}

/* ACSS: body a:where(:not([class*="btn--"])) { font-weight: var(--link-weight, 400) }, so links inside <strong> stay regular. */
:where(.entry-content, .is-root-container) a:not(:where(.ju-block *, [class*="btn--"])) { font-weight: 400; }

/* Bricks/core: images in post content stay inline (text-align centres them in cells/paragraphs). The base reset makes them block. */
:where(.entry-content, .is-root-container) img:not(:where(.ju-block *)) { display: inline; }

/* Bricks frontend: figure { margin: 1em 0 } (custom-price-table, embeds). Block-specific rules below/above win. */
:where(.entry-content, .is-root-container) figure { margin-top: 1em; margin-bottom: 1em; }

/* Tables: cells keep the core block-library look (1px borders, .5em padding) as on Bricks. */
:is(.entry-content, .is-root-container) .wp-block-table { margin-top: 0; margin-bottom: .8rem; overflow-x: auto; }

/* Columns (Global CSS .wp-block-columns) */
:is(.entry-content, .is-root-container) .wp-block-columns {
	margin-bottom: 2.4rem;
	gap: 1.6rem;
	height: 100%;
	width: 100%;
}
:is(.entry-content, .is-root-container) .wp-block-columns > .wp-block-column { height: 100%; width: 100%; }
:is(.entry-content, .is-root-container) .wp-block-columns .wp-block-image { width: 100%; margin: 0; }

/* File block (core look; Bricks site used the defaults). */
:is(.entry-content, .is-root-container) .wp-block-file { font-size: .8em; margin-bottom: 1.2em; }
:is(.entry-content, .is-root-container) .wp-block-file__button {
	display: inline-block;
	margin-left: .75em;
	padding: 1.05rem 1.9rem;
	border-radius: 2.56rem;
	background: #32373c;
	color: #fff;
	font-size: inherit;
}

/* Custom price tables (Global CSS .custom-price-table). */
.custom-price-table {
	border: 1px solid #e1f1fd;
	border-radius: 10px;
	max-width: 100%;
}
.custom-price-table table {
	border-collapse: collapse;
	width: 100%;
	font-family: Arial, sans-serif;
	font-size: 16px;
	color: #1d2c5b;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #e1f1fd;
	table-layout: fixed;
}
.custom-price-table table col:first-child { width: 40%; }
.custom-price-table table col { width: 20%; }
.custom-price-table table thead { border: 1px solid #e1f1fd; }
.custom-price-table table thead th {
	background-color: #f4f9fd;
	font-weight: 700;
	padding: 12px 16px;
	text-align: left;
	border: none;
	border-bottom: 1px solid #e6edf4;
	font-size: 1.4rem;
	font-family: var(--font-sans);
	color: var(--base);
}
.custom-price-table table thead th:not(:first-child) { text-align: center; }
.custom-price-table table thead th:first-child { border-right: 1px solid #e1f1fd; }
.custom-price-table table tbody td {
	padding: 12px 16px;
	border: none;
	border-right: 1px solid #e6edf4;
	border-left: 1px solid #e6edf4;
	font-family: var(--font-sans);
	font-size: 1.4rem;
	color: var(--base);
	overflow-wrap: anywhere;
}
.custom-price-table table tbody td:not(:first-child) { text-align: center; }
.custom-price-table table tbody tr:nth-child(even) { background-color: #fff; }
.custom-price-table table tr:last-child { border-bottom: none; }
.custom-price-table--wide-first table col:first-child { width: 80% !important; }
.custom-price-table--wide-first table col { width: 20% !important; }

@media (max-width: 991px) {
	.big-gap-p { padding-bottom: 2rem; }
	.wide-column { row-gap: 2rem !important; }
	:is(.entry-content, .is-root-container) .special-p-text { padding-bottom: 2rem; }
	:is(.entry-content, .is-root-container) .wp-block-columns { flex-direction: column; gap: 2rem; }
	:is(.entry-content, .is-root-container) .wp-block-columns .wp-block-image { margin-bottom: 5rem !important; }
	:is(.entry-content, .is-root-container) .wp-block-columns .wp-block-image:last-child { margin: 0 !important; }
}
@media (max-width: 767px) {
	:where(.entry-content, .is-root-container) :where(h2:not(.ju-block *)) {
		font-size: 2.5rem;
		padding-top: 2.5rem;
		padding-bottom: 1.5rem;
	}
	:where(.entry-content, .is-root-container) :where(h3:not(.ju-block *)) {
		font-size: 1.8rem;
		padding-top: 3rem;
		padding-bottom: 2rem;
	}
	.reeding-heading { font-size: 2rem !important; }
}

/* ---------- Buttons (ACSS btn--primary look) ---------- */
.btn,
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1.2rem 2.4rem;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.2;
	color: var(--primary);
	background: var(--white);
	border: 1px solid var(--primary);
	border-radius: var(--radius-s);
	transition: background .2s ease, color .2s ease;
}
.btn:hover,
.wp-block-button__link:hover { background: var(--primary); color: var(--white); }
.btn--solid { background: var(--primary); color: var(--white); }
.btn--solid:hover { background: var(--primary-hover); }

/* Cards */
.card {
	display: flex;
	flex-direction: column;
	background: var(--white);
	border-radius: var(--radius-s);
	box-shadow: var(--shadow-card);
}

.post-date { font-size: 1.4rem; color: var(--muted); }
