/*
 * DentiClinic – finálne zjednotenie dizajnu
 * Verzia 1.3.0
 */

/* =========================================================
   1. Šírka, centrovanie a spoločná paleta
   ========================================================= */

:root {
	--dchr-navy: #111827;
	--dchr-cream: #F8F6F2;
	--dchr-grey: #E2DDD6;
	--dchr-taupe: #B8ACA0;
	--dchr-content: 1480px;
	--dchr-gutter: clamp(22px, 3.2vw, 48px);
	--dchr-section-y: clamp(58px, 6.2vw, 88px);
}

html,
body {
	overflow-x: clip;
}

.container {
	width: min(var(--dchr-content), calc(100% - (2 * var(--dchr-gutter)))) !important;
	max-width: var(--dchr-content) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body:not(.home) .site-main > .container,
body:not(.home) .site-main .entry,
body:not(.home) .site-main .page-content,
body:not(.home) .site-main .archive-content {
	width: min(var(--dchr-content), calc(100% - (2 * var(--dchr-gutter))));
	max-width: var(--dchr-content);
	margin-left: auto;
	margin-right: auto;
}

body:not(.home) .entry__content,
body:not(.home) .entry-content {
	width: 100%;
	max-width: var(--dchr-content) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Rozšírenie vlastných modulov, ktoré mali vlastnú pevnú šírku. */
.dcts-wrap,
.dcc-calculator,
.dcsk-module,
.dcsk-public-inner {
	max-width: var(--dchr-content) !important;
}

.dcts-wrap {
	width: min(var(--dchr-content), calc(100vw - (2 * var(--dchr-gutter)))) !important;
}

.dcc-calculator {
	width: min(1380px, calc(100vw - (2 * var(--dchr-gutter)))) !important;
}

/* H1 na celom webe – Cormorant Garamond Italic. */
h1,
.hero__title,
.entry__title,
.entry-title,
.page-title,
.archive-title,
.dchr-primary-title {
	font-family: "Cormorant Garamond", Georgia, "Times New Roman", serif !important;
	font-style: italic !important;
	font-weight: 500 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.02 !important;
}

body:not(.home) h1,
body:not(.home) .dchr-primary-title {
	font-size: clamp(46px, 4.4vw, 70px) !important;
}

/* Jednotná tmavomodrá. */
.stats,
.stats--insurance,
.insurance-partners,
.cta-band,
.section--dark,
.site-footer {
	background-color: var(--dchr-navy) !important;
	background-image: none !important;
}

/* =========================================================
   2. Homepage
   ========================================================= */

.home .hero {
	background:
		radial-gradient(880px 460px at 86% 42%, rgba(184, 172, 160, 0.13), transparent 68%),
		var(--dchr-cream) !important;
}

.home .hero__inner {
	grid-template-columns: minmax(0, 1.18fr) minmax(430px, 0.82fr) !important;
	gap: clamp(48px, 6vw, 96px) !important;
}

.home .hero__content {
	min-width: 0;
}

.home .hero__title {
	max-width: 820px !important;
	margin-bottom: 0.38em !important;
	font-size: clamp(62px, 5vw, 82px) !important;
}

.home .hero__title .dchr-hero-line {
	display: block;
	white-space: nowrap;
}

.home .hero__subtitle {
	max-width: 650px !important;
}

.home .hero__media {
	display: flex;
	justify-content: center;
}

.home .hero__image {
	width: min(100%, 590px) !important;
}

/* Na homepage už nie je blok Prečo DentiClinic. */
.home .why#preco {
	display: none !important;
}

/* =========================================================
   3. Poisťovne – dve samostatné logá bez rámikov
   ========================================================= */

.home .stats--insurance,
.home .insurance-partners {
	padding-top: clamp(58px, 6vw, 84px) !important;
	padding-bottom: clamp(58px, 6vw, 84px) !important;
}

.home .stats__insurance-kicker,
.home .stats__insurance-text,
.home .insurance-partners__eyebrow,
.home .insurance-partners__text {
	display: none !important;
}

.home .stats__insurance-title,
.home .insurance-partners__title {
	width: min(900px, 100%);
	margin: 0 auto clamp(34px, 4vw, 50px) !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	text-align: center;
	font-size: clamp(34px, 4vw, 54px) !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
}

.home .stats__insurance-logos,
.home .insurance-partners__logos {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(42px, 7vw, 100px);
	width: min(930px, 100%) !important;
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.home .stats__insurance-logos img,
.home .insurance-partners__logos img,
.home .dchr-insurance-logo {
	display: block;
	width: auto !important;
	height: clamp(46px, 4vw, 66px) !important;
	max-width: min(39vw, 390px) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	object-fit: contain;
}

/* =========================================================
   4. Spodný modrý pás – iba text bez rámika
   ========================================================= */

.home .cta-band {
	padding: clamp(62px, 6.5vw, 92px) 0 !important;
}

.home .cta-band__inner {
	text-align: center !important;
}

.home .cta-band__title {
	width: min(760px, 100%);
	margin: 0 auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #fff !important;
	font-size: clamp(34px, 4vw, 52px) !important;
	line-height: 1.12 !important;
}

.home .cta-band .btn,
.home .cta-band a[class*="btn"] {
	display: none !important;
}

/* =========================================================
   5. Duplicitné nadpisy modulových stránok
   ========================================================= */

/*
 * Vonkajší názov stránky sa skryje až vtedy, keď JS úspešne našiel
 * a pripravil vnútorný nadpis modulu. Pri chybe JS teda nič nezmizne.
 */
body.dchr-module-title-ready .breadcrumbs,
body.dchr-module-title-ready .entry__header,
body.dchr-module-title-ready .entry-header {
	display: none !important;
}

body.dchr-module-title-ready .site-main > .container.section {
	padding-top: clamp(36px, 4vw, 56px) !important;
}

body.dchr-module-title-ready .entry__content,
body.dchr-module-title-ready .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.dchr-module-title-ready .dcts-section {
	padding-top: 18px !important;
}

body.dchr-module-title-ready .dcts-header {
	margin-bottom: 28px !important;
}

body.dchr-module-title-ready .dcc-calculator {
	padding-top: 10px !important;
}

body.dchr-module-title-ready .dchr-cleaned-module-header {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.dchr-module-title-ready .dchr-cleaned-module-header .dchr-module-kicker {
	display: none !important;
}

body.dchr-module-title-ready .dchr-primary-title {
	margin-top: 0 !important;
	margin-bottom: 14px !important;
	text-align: center;
}

/* =========================================================
   6. Jednotné rozostupy
   ========================================================= */

.section {
	padding-top: var(--dchr-section-y) !important;
	padding-bottom: var(--dchr-section-y) !important;
}

.section__header {
	margin-top: 0 !important;
	margin-bottom: clamp(28px, 3.5vw, 44px) !important;
}

.cards-grid,
.dcts-grid {
	gap: clamp(18px, 2vw, 28px) !important;
}

.contact__grid {
	gap: clamp(30px, 4vw, 60px) !important;
}

/* =========================================================
   7. Notebook, tablet, mobil
   ========================================================= */

@media (max-width: 1440px) {
	:root {
		--dchr-content: 1240px;
		--dchr-gutter: 28px;
	}

	.home .hero__title {
		font-size: clamp(58px, 5.2vw, 72px) !important;
	}
}

@media (max-width: 1120px) {
	:root {
		--dchr-content: 100%;
		--dchr-gutter: 24px;
	}

	.home .hero__inner {
		grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr) !important;
		gap: 42px !important;
	}

	.home .hero__title {
		font-size: clamp(52px, 6.2vw, 66px) !important;
	}

	.home .hero__title .dchr-hero-line {
		white-space: normal;
	}
}

@media (max-width: 900px) {
	.home .hero__inner {
		grid-template-columns: 1fr !important;
	}

	.home .hero__media {
		max-width: 520px;
		margin: 12px auto 0;
	}

	.home .hero__title .dchr-hero-line {
		display: inline;
		white-space: normal;
	}

	.home .hero__title .dchr-hero-line:not(:last-child)::after {
		content: " ";
	}

	.home .stats__insurance-logos,
	.home .insurance-partners__logos {
		gap: 38px;
	}
}

@media (max-width: 700px) {
	:root {
		--dchr-gutter: 16px;
		--dchr-section-y: 48px;
	}

	.home .hero__title {
		font-size: clamp(44px, 12vw, 58px) !important;
	}

	body:not(.home) h1,
	body:not(.home) .dchr-primary-title {
		font-size: clamp(42px, 11vw, 58px) !important;
	}

	.home .stats__insurance-logos,
	.home .insurance-partners__logos {
		flex-direction: column;
		gap: 28px;
	}

	.home .stats__insurance-logos img,
	.home .insurance-partners__logos img,
	.home .dchr-insurance-logo {
		height: 52px !important;
		max-width: 86vw !important;
	}
}


/* =========================================================
   8. Náš tím – zrušenie pravého stĺpca a presné centrovanie
   ========================================================= */

/*
 * Predvolená šablóna témy používa pri vnútorných stránkach
 * dvojstĺpcové rozloženie: nadpis vľavo a obsah vpravo.
 * Po skrytí duplicitného nadpisu zostal shortcode tímu
 * v pravom stĺpci. Tieto pravidlá ho rozšíria cez celú šírku.
 */
body.dc-module-team.dchr-module-title-ready .site-main > .container,
body.dc-module-team.dchr-module-title-ready article.entry,
body.dc-module-team.dchr-module-title-ready .entry,
body.dc-module-team.dchr-module-title-ready .entry__content,
body.dc-module-team.dchr-module-title-ready .entry-content {
	width: 100% !important;
	max-width: var(--dchr-content) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

body.dc-module-team.dchr-module-title-ready article.entry,
body.dc-module-team.dchr-module-title-ready .entry {
	display: block !important;
	grid-template-columns: 1fr !important;
}

body.dc-module-team.dchr-module-title-ready .entry__content,
body.dc-module-team.dchr-module-title-ready .entry-content {
	grid-column: 1 / -1 !important;
	justify-self: stretch !important;
}

body.dc-module-team.dchr-module-title-ready .dcts-wrap,
body.dc-module-team.dchr-module-title-ready .dcts-section,
body.dc-module-team.dchr-module-title-ready .dcts-header,
body.dc-module-team.dchr-module-title-ready .dcts-grid {
	margin-left: auto !important;
	margin-right: auto !important;
}

body.dc-module-team.dchr-module-title-ready .dcts-wrap {
	width: min(1320px, calc(100vw - (2 * var(--dchr-gutter)))) !important;
	max-width: 1320px !important;
}

body.dc-module-team.dchr-module-title-ready .dcts-header {
	text-align: center !important;
}

body.dc-module-team.dchr-module-title-ready .dcts-grid {
	width: 100% !important;
}

@media (max-width: 1440px) {
	body.dc-module-team.dchr-module-title-ready .dcts-wrap {
		width: min(1180px, calc(100vw - 56px)) !important;
		max-width: 1180px !important;
	}
}

@media (max-width: 700px) {
	body.dc-module-team.dchr-module-title-ready .dcts-wrap {
		width: calc(100vw - 32px) !important;
	}
}


/* =========================================================
   9. Klientské úpravy podľa PDF - verzia 1.2.0
   ========================================================= */

.dchr-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Telefón v hlavičke pred tlačidlom Objednať sa. */
.site-header__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.dchr-header-phone,
.dchr-mobile-phone,
.dchr-hero-phone {
	color: var(--dchr-navy) !important;
	font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
	font-style: normal !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.dchr-header-phone {
	font-size: 0.94rem;
}

.dchr-header-phone:hover,
.dchr-mobile-phone:hover,
.dchr-hero-phone:hover {
	text-decoration: underline !important;
	text-underline-offset: 4px;
}

.dchr-mobile-phone {
	display: none;
	margin-bottom: 12px;
	padding: 12px 10px;
	text-align: center;
	font-size: 1rem;
}

/* Hlavný slogan: Cormorant Garamond Italic + Plus Jakarta Sans Bold. */
.home .hero__title {
	max-width: 690px !important;
	font-family: inherit !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: 0 !important;
	line-height: 0.88 !important;
}

.home .hero__title .dchr-hero-script {
	display: block;
	font-family: "Cormorant Garamond", Georgia, serif !important;
	font-style: italic !important;
	font-weight: 500 !important;
	font-size: 1em;
	letter-spacing: -0.045em;
	line-height: 0.88;
	color: var(--dchr-navy);
}

.home .hero__title .dchr-hero-bold {
	display: block;
	margin-top: 0.1em;
	font-family: "Plus Jakarta Sans", Arial, sans-serif !important;
	font-style: normal !important;
	font-weight: 800 !important;
	font-size: 0.68em;
	letter-spacing: -0.055em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--dchr-taupe);
}

.home .hero__actions {
	align-items: center;
}

.home .dchr-hero-phone {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	padding: 0 8px;
	font-size: 1rem;
}

/* Odstránenie ikon zubov zo všetkých kariet služieb na homepage. */
.home .services .card--service .card__icon {
	display: none !important;
}

.home .services .card--service {
	padding-top: clamp(28px, 3vw, 38px) !important;
}

/* Kompaktnejšie a čitateľné texty tímu podľa návrhu. */
.home .doctors .card--doctor .card__body {
	padding: 24px !important;
}

.home .doctors .card--doctor .card__meta {
	margin-bottom: 10px !important;
}

.home .doctors .card--doctor .card__text {
	margin-bottom: 18px !important;
}

.home .doctors .card--doctor .card__actions a,
.home .doctors .card--doctor .card__actions button {
	flex: 0 0 auto;
}

/* Pred a po: bez vizuálneho nadpisu, ponechaný iba skrátený popis. */
.home .beforeafter .section__header {
	margin-bottom: clamp(26px, 3vw, 38px) !important;
}

.home .beforeafter .section__lead {
	margin: 0 auto !important;
}

/* Robustné centrovanie samostatnej stránky Náš tím / Lekári. */
body.dchr-team-page .site-main,
body.dchr-team-page .site-main > .container,
body.dchr-team-page article.entry,
body.dchr-team-page .entry,
body.dchr-team-page .entry__content,
body.dchr-team-page .entry-content,
body.dchr-team-page .dcts-wrap,
body.dchr-team-page .dcts-section,
body.dchr-team-page .dcts-header,
body.dchr-team-page .dcts-grid {
	margin-left: auto !important;
	margin-right: auto !important;
}

body.dchr-team-page .site-main > .container,
body.dchr-team-page article.entry,
body.dchr-team-page .entry,
body.dchr-team-page .entry__content,
body.dchr-team-page .entry-content {
	width: min(var(--dchr-content), calc(100% - (2 * var(--dchr-gutter)))) !important;
	max-width: var(--dchr-content) !important;
}

body.dchr-team-page article.entry,
body.dchr-team-page .entry {
	display: block !important;
	grid-template-columns: minmax(0, 1fr) !important;
}

body.dchr-team-page .entry__content,
body.dchr-team-page .entry-content {
	grid-column: 1 / -1 !important;
	justify-self: center !important;
}

body.dchr-team-page .dcts-wrap {
	width: min(1320px, calc(100vw - (2 * var(--dchr-gutter)))) !important;
	max-width: 1320px !important;
}

body.dchr-team-page .dcts-header {
	text-align: center !important;
}

@media (max-width: 1240px) {
	.dchr-header-phone {
		display: none;
	}
}

@media (max-width: 820px) {
	.dchr-mobile-phone {
		display: block;
	}

	.home .hero__title {
		line-height: 0.92 !important;
	}

	.home .hero__title .dchr-hero-bold {
		font-size: 0.72em;
	}
}

@media (max-width: 540px) {
	.home .dchr-hero-phone {
		width: 100%;
		justify-content: center;
		padding-top: 4px;
	}
}


/* =========================================================
   9. Verzia 1.3.0 – nové fotografie
   ========================================================= */

/* Telefón ostáva v hlavičke, ale už sa nezobrazuje pri hero tlačidlách. */
.home .hero__actions .dchr-hero-phone {
	display: none !important;
}

/* Nová spoločná fotografia Petra a Pavla má zachovať celý záber. */
.home .hero__media {
	align-items: center;
}

.home .hero__image {
	height: auto !important;
	max-height: 610px;
	object-fit: contain !important;
}
