/* ODI listing UI tokens - wzorzec: archiwum + single oferty (8px, section heading) */

:root,
.odi-page-shell,
.odi-archive-property,
.odi-single-property,
#odi-single-property-app,
.odi-posts,
.odi-post-single,
.odi-agents-team,
.odi-partners,
#odi-dashboard-app {
	/* Alias soft-bg → bg-soft z tokenów Personalizacji (bez nadpisywania hex). */
	--odi-brand-soft-bg: var(--odi-brand-bg-soft, #F8F9FA);
	--odi-card-radius: 8px;
	--odi-card-shadow: 0 2px 6px rgba(43, 47, 51, 0.02);
	--odi-card-shadow-soft: 0 2px 8px rgba(43, 47, 51, 0.03);
	--odi-card-border: 1px solid var(--odi-brand-gray-light, #e5e8eb);
	--odi-section-heading-size: 13px;
	--odi-accent-bar: 3px solid var(--odi-brand-red, #d3212b);
}

.odi-section-heading,
h2.odi-section-heading,
h2.odi-page-mod-title,
h2.odi-page-section-title,
h3.odi-section-heading,
h3.odi-page-section-title.odi-agents-region-title,
h3.odi-page-section-title.odi-partners-region-title,
.odi-contact-panel-title.odi-section-heading {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 10px;
	padding-bottom: 5px;
	border-bottom: 2px solid var(--odi-brand-gray-light, #e5e8eb);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	color: var(--odi-brand-dark, #2b2f33);
}

.odi-section-heading::before,
h2.odi-section-heading::before,
h2.odi-page-mod-title::before,
h2.odi-page-section-title::before,
h3.odi-section-heading::before,
h3.odi-page-section-title.odi-agents-region-title::before,
h3.odi-page-section-title.odi-partners-region-title::before,
.odi-contact-panel-title.odi-section-heading::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	background: var(--odi-brand-red, #d3212b);
}

.odi-section-heading--flush {
	margin-top: 0;
}

/* POI accordion: bez czerwonego kwadratu - ikony mono w PHP/CSS okolica. */
.odi-poi-clean-wrapper .odi-poi-section-title::before {
	content: none;
	display: none;
}

/* Nadpisanie duzego .odi-office-heading gdy to naglowek sekcji (Agenci, Partnerzy). */
.odi-page-shell h2.odi-office-heading.odi-page-section-title {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 16px;
	padding-bottom: 5px;
	border-bottom: 2px solid var(--odi-brand-gray-light, #e5e8eb);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.35;
	letter-spacing: 0;
	text-transform: none;
	color: var(--odi-brand-dark, #2b2f33);
}

.odi-page-shell h2.odi-office-heading.odi-page-section-title::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	flex-shrink: 0;
	background: var(--odi-brand-red, #d3212b);
}

/*
 * Globalna proza frontu: wyjustowanie L-R + dywizja (desktop i mobile).
 * Nie dotyczy UI (przyciski, inputy, nav, nagłówki sekcji, listy punktowane).
 */
body.odi-host-document .odi-host-main p,
body.odi-host-document .odi-host-main .odi-page-prose,
body.odi-host-document .odi-host-main .odi-about-copy,
body.odi-host-document .odi-host-main .odi-about-lead,
body.odi-host-document .odi-host-main .odi-about-card p,
body.odi-host-document .odi-host-main .odi-post-single__content,
body.odi-host-document .odi-host-main .odi-post-single__content p,
body.odi-host-document .odi-host-main .odi-post-card__excerpt,
body.odi-host-document .odi-host-main .odi-post-card__body,
body.odi-host-document .odi-host-main .odi-typography-content,
body.odi-host-document .odi-host-main .odi-typography-content p,
body.odi-host-document .odi-host-main .odi-page-mod-copy,
body.odi-host-document .odi-host-main .odi-page-mod-copy p,
body.odi-host-document .odi-host-main .odi-contact-panel p,
body.odi-host-document .odi-host-main .odi-office-block p,
body.odi-host-document .odi-host-main .odi-partner-note,
body.odi-host-document .odi-host-main .odi-pmb-coverage-intro,
body.odi-host-document .odi-host-main .odi-pmb-coverage-note,
body.odi-host-document .odi-host-main .odi-pmb-faq-item p,
body.odi-host-document .odi-host-main .odi-pmb-case p,
body.odi-host-document .odi-host-main .odi-pmb-compare-card p,
body.odi-host-document .odi-host-main .odi-agent-card p,
.odi-single-property .odi-typography-content,
.odi-single-property .odi-typography-content p,
.odi-page-shell p,
.odi-page-prose,
.odi-page-prose p,
.odi-about-copy,
.odi-about-copy p,
.odi-about-lead,
.odi-post-single__content,
.odi-post-single__content p,
.odi-typography-content,
.odi-typography-content p {
	text-align: justify !important;
	text-align-last: start;
	hyphens: auto;
	-webkit-hyphens: auto;
	-ms-hyphens: auto;
	overflow-wrap: break-word;
}

body.odi-host-document .odi-host-main button,
body.odi-host-document .odi-host-main input,
body.odi-host-document .odi-host-main select,
body.odi-host-document .odi-host-main textarea,
body.odi-host-document .odi-host-main label,
body.odi-host-document .odi-host-main nav,
body.odi-host-document .odi-host-main .odi-section-heading,
body.odi-host-document .odi-host-main h1,
body.odi-host-document .odi-host-main h2,
body.odi-host-document .odi-host-main h3,
body.odi-host-document .odi-host-main h4,
body.odi-host-document .odi-host-main li,
body.odi-host-document .odi-host-main ul,
body.odi-host-document .odi-host-main ol,
body.odi-host-document .odi-host-main .odi-pmb-quiz-opt,
body.odi-host-document .odi-host-main .odi-list-check,
body.odi-host-document .odi-host-main .odi-list-check p,
body.odi-host-document .odi-host-main .odi-typography-content.odi-list-check,
body.odi-host-document .odi-host-main .odi-typography-content.odi-list-check p,
.odi-typography-content.odi-list-check,
.odi-typography-content.odi-list-check p,
.odi-typography-content ul,
.odi-typography-content ol,
.odi-list-check ul,
.odi-list-check li {
	text-align: left !important;
	hyphens: manual;
	-webkit-hyphens: manual;
}

/* Box telefonów w menu/sidebar — wycentrowany (nadpisuje host h4 left !important). */
body.odi-host-document .odi-host-main .odi-sidebar-contact-card,
body.odi-host-document .odi-host-main .odi-sidebar-contact-card h4,
body.odi-host-document .odi-host-main .odi-sidebar-contact-card .odi-s-contact-badge,
body.odi-host-document .odi-host-main .odi-sidebar-contact-card .odi-s-bureau-city,
body.odi-host-document .odi-host-main .odi-sidebar-contact-card .odi-s-phone,
body.odi-host-document .odi-host-main .odi-sidebar-contact-card .odi-s-email,
body.odi-host-document .odi-host-main .odi-sidebar-contact-card .odi-s-hours {
	text-align: center !important;
}

