/* ==========================================================================
   Blog – detail článku, zoznam článkov a bloky článku (/blocks).

   Načíta sa iba na blogu (inc/blog.php → hpt_blog_is_blog) a v editore článku.
   Pravidlá pre obsah článku platia v .hpt-content (web) aj v .is-root-container (editor)
   so špecificitou jednej triedy, aby ich štýly blokov (.hpt-box, .hpt-cta …) mohli prebiť.
   ========================================================================== */

/* Tokeny – rovnaká paleta ako ambulancie (--lp-* v assets/lp/landing.css)
   ========================================================================== */
.hpt-article,
.hpt-blog,
.editor-styles-wrapper {
	--hb-red: #CC171E;
	--hb-red-dark: #A8121A;
	--hb-pink: #FDF0F0;
	--hb-ink: #14174C;
	--hb-text: #45486E;
	--hb-muted: #6A6D8C;
	--hb-line: #ECEDF3;
	--hb-soft: #F7F7F7;
	--hb-lavender: #C9CBE3;
	--hb-dark: #14174C;
	--hb-coral: #FF8A8F;
	--hb-font: 'Mulish', 'Nunito Sans', 'Segoe UI', sans-serif;
	--hb-header-offset: 13rem;
	--hb-sticky-top: 170px;
	--hb-stars: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 130.667 24'%3E%3Cpath transform='translate(0.000 0)' fill='%23F5A623' d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3Cpath transform='translate(26.667 0)' fill='%23F5A623' d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3Cpath transform='translate(53.333 0)' fill='%23F5A623' d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3Cpath transform='translate(80.000 0)' fill='%23F5A623' d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3Cpath transform='translate(106.667 0)' fill='%23F5A623' fill-opacity='0.45' d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01z'/%3E%3C/svg%3E");
	--hb-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

.hpt-article,
.hpt-blog {
	font-family: var(--hb-font);
	color: var(--hb-text);
	background: #fff;
}

.hpt-article *,
.hpt-blog * {
	box-sizing: border-box;
}

/* Hlavička webu (Elementor šablóna 159) – rovnaký tieň "pilulky" ako na ambulanciách (landing.css) */
.elementor-location-header .elementor-element-63f2ed7.e-con {
	box-shadow: 0 10px 30px rgba(20, 23, 76, .12), 0 0 0 1px rgba(20, 23, 76, .06);
}

.hpt-wrap {
	width: 100%;
	max-width: 1304px;
	margin: 0 auto;
	padding: 0 24px;
}

.hpt-ico {
	flex: none;
}

/* Spoločné prvky
   ========================================================================== */
.hpt-crumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	margin: 0 0 28px;
	padding: 0;
	list-style: none;
	font-size: 15px;
	color: var(--hb-muted);
}

.hpt-crumbs li + li::before {
	content: '›';
	margin-right: 10px;
	color: var(--hb-lavender);
}

.hpt-crumbs a {
	color: inherit;
	text-decoration: none;
}

.hpt-crumbs a:hover {
	color: var(--hb-red);
}

.hpt-pill {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border-radius: 999px;
	background: var(--hb-pink);
	color: var(--hb-red-dark);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .06em;
	line-height: 1.3;
	text-transform: uppercase;
	text-decoration: none;
}

a.hpt-pill:hover {
	background: #FAE1E2;
}

.hpt-pill--small {
	align-self: flex-start;
	padding: 6px 12px;
	font-size: 12px;
}

.hpt-eyebrow {
	margin: 0 0 16px;
	color: var(--hb-muted);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.hpt-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 24px;
	border: 2px solid transparent;
	border-radius: 12px;
	font-family: var(--hb-font);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s, box-shadow .2s;
}

.hpt-btn--primary {
	background: var(--hb-red);
	color: #fff;
	box-shadow: 0 10px 24px rgba(204, 23, 30, .25);
}

.hpt-btn--primary:hover,
.hpt-btn--primary:focus-visible {
	background: var(--hb-red-dark);
	color: #fff;
}

.hpt-btn--outline {
	border-color: var(--hb-ink);
	background: #fff;
	color: var(--hb-ink);
}

.hpt-btn--outline:hover,
.hpt-btn--outline:focus-visible {
	background: var(--hb-ink);
	color: #fff;
}

.hpt-btn--lg {
	padding: 20px 32px;
	border-radius: 14px;
	font-size: 19px;
}

/* Hlavička článku
   ========================================================================== */
.hpt-hero {
	padding: var(--hb-header-offset) 0 64px;
	border-bottom: 1px solid var(--hb-line);
}

.hpt-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 64px;
	align-items: start;
}

.hpt-hero--no-image .hpt-hero__grid {
	grid-template-columns: minmax(0, 860px);
}

.hpt-hero__title {
	margin: 24px 0;
	color: var(--hb-ink);
	font-family: var(--hb-font);
	font-size: clamp(36px, 4.2vw, 62px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: -.02em;
}

.hpt-hero__lead {
	color: var(--hb-text);
	font-size: 22px;
	line-height: 1.6;
}

.hpt-hero__lead p {
	margin: 0 0 12px;
}

.hpt-hero__lead p:last-child {
	margin-bottom: 0;
}

.hpt-hero__lead strong {
	color: var(--hb-ink);
	font-weight: 800;
}

.hpt-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 24px 0 32px;
	padding: 0;
	list-style: none;
	color: var(--hb-muted);
	font-size: 15px;
}

.hpt-meta li {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 8px;
}

.hpt-meta__link {
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}

.hpt-meta__link:hover {
	color: var(--hb-red);
}

.hpt-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 32px;
}

.hpt-hero__phone {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--hb-ink);
	font-size: 19px;
	font-weight: 800;
	text-decoration: none;
}

.hpt-hero__phone:hover {
	color: var(--hb-red);
}

.hpt-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.hpt-chips li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1px solid var(--hb-line);
	border-radius: 999px;
	color: var(--hb-ink);
	font-size: 15px;
	font-weight: 700;
}

.hpt-chips .hpt-ico,
.hpt-cta__points .hpt-ico {
	color: var(--hb-red);
}

.hpt-hero__media {
	position: relative;
	margin: 0;
}

.hpt-hero__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1200 / 1260;
	border-radius: 28px;
	background: var(--hb-soft);
	object-fit: cover;
}

/* Hodnotenie Google – rovnaká karta ako v hlavičke ambulancií (.lp-rating--float v landing.css) */
.hpt-rating {
	position: absolute;
	left: -32px;
	bottom: 32px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 18px 22px;
	border-radius: 20px;
	background: #fff;
	box-shadow: 0 20px 44px rgba(20, 23, 76, .16);
}

.hpt-rating strong {
	color: var(--hb-ink);
	font-size: 40px;
	font-weight: 900;
	line-height: 1;
}

.hpt-rating span {
	display: flex;
	flex-direction: column;
	gap: 4px;
	color: var(--hb-text);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.hpt-rating span::before {
	content: '';
	width: 98px;
	height: 18px;
	background: var(--hb-stars) left center / contain no-repeat;
}

/* Obsah článku + bočný obsah (TOC)
   ========================================================================== */
.hpt-article__layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 88px;
	padding-top: 64px;
	padding-bottom: 96px;
}

.hpt-article__layout--no-toc {
	grid-template-columns: minmax(0, 920px);
	justify-content: center;
}

.hpt-content {
	min-width: 0;
	max-width: 920px;
}

.hpt-toc {
	position: sticky;
	top: var(--hb-sticky-top);
	align-self: start;
}

.hpt-toc__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	color: var(--hb-muted);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
	list-style: none;
	cursor: default;
}

.hpt-toc__title::-webkit-details-marker {
	display: none;
}

.hpt-toc__title .hpt-ico {
	display: none;
	transition: transform .2s;
}

.hpt-toc__list {
	margin: 20px 0 0;
	padding: 0;
	border-left: 3px solid var(--hb-line);
	list-style: none;
}

.hpt-toc__list li {
	margin: 0;
}

.hpt-toc__list a {
	display: block;
	margin-left: -3px;
	padding: 9px 0 9px 20px;
	border-left: 3px solid transparent;
	color: var(--hb-text);
	font-size: 17px;
	line-height: 1.35;
	text-decoration: none;
}

.hpt-toc__list a:hover {
	color: var(--hb-red);
}

.hpt-toc__list a.is-active {
	border-left-color: var(--hb-red);
	color: var(--hb-ink);
	font-weight: 800;
}

/* Typografia obsahu (web aj editor) */
:is(.hpt-content, .is-root-container) {
	color: var(--hb-text);
	font-family: var(--hb-font);
	font-size: 19px;
	line-height: 1.7;
}

:is(.hpt-content, .is-root-container) :where(p) {
	margin: 0 0 20px;
}

:is(.hpt-content, .is-root-container) :where(h2, h3, h4) {
	color: var(--hb-ink);
	font-family: var(--hb-font);
	font-weight: 900;
	letter-spacing: -.01em;
}

:is(.hpt-content, .is-root-container) :where(h2) {
	margin: 72px 0 20px;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.15;
	scroll-margin-top: var(--hb-sticky-top);
}

:is(.hpt-content, .is-root-container) :where(h3) {
	margin: 40px 0 12px;
	font-size: 24px;
	line-height: 1.25;
}

:is(.hpt-content, .is-root-container) :where(h4) {
	margin: 32px 0 10px;
	font-size: 20px;
}

.hpt-content > :first-child {
	margin-top: 0;
}

:is(.hpt-content, .is-root-container) :where(strong, b) {
	color: var(--hb-ink);
	font-weight: 800;
}

:is(.hpt-content, .is-root-container) :where(p, li, td, figcaption) a:not([class]) {
	color: var(--hb-red);
	text-decoration: underline;
	text-underline-offset: 3px;
}

:is(.hpt-content, .is-root-container) :where(ul, ol).wp-block-list:not(.is-style-checks) {
	margin: 0 0 24px;
	padding-left: 24px;
}

:is(.hpt-content, .is-root-container) :where(ul, ol).wp-block-list:not(.is-style-checks) li {
	margin: 0 0 8px;
}

:is(.hpt-content, .is-root-container) :where(p.is-style-lead) {
	color: var(--hb-text);
	font-size: 23px;
	line-height: 1.6;
}

/* Zoznam – štýl „Fajky v kartách“ */
:is(.hpt-content, .is-root-container) ul.is-style-checks {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 20px 0 28px;
	padding: 0;
	list-style: none;
}

:is(.hpt-content, .is-root-container) ul.is-style-checks > li {
	position: relative;
	margin: 0;
	padding: 16px 20px 16px 60px;
	border-radius: 14px;
	background: var(--hb-soft);
	color: var(--hb-ink);
	font-size: 18px;
	line-height: 1.45;
}

:is(.hpt-content, .is-root-container) ul.is-style-checks > li::before {
	content: '';
	position: absolute;
	top: 14px;
	left: 18px;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--hb-red) var(--hb-check) center / 14px no-repeat;
}

:is(.hpt-content, .is-root-container) ul.is-style-checks > li:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

/* Obrázok, tabuľka, oddeľovač, video */
:is(.hpt-content, .is-root-container) .wp-block-image {
	margin: 36px 0;
}

:is(.hpt-content, .is-root-container) .wp-block-image img {
	max-width: 100%;
	height: auto;
	border-radius: 20px;
}

:is(.hpt-content, .is-root-container) .wp-block-image figcaption {
	margin-top: 10px;
	color: var(--hb-muted);
	font-size: 15px;
	text-align: center;
}

:is(.hpt-content, .is-root-container) .wp-block-table {
	margin: 32px 0;
	overflow-x: auto;
}

:is(.hpt-content, .is-root-container) .wp-block-table table {
	width: 100%;
	border-collapse: collapse;
	font-size: 17px;
}

:is(.hpt-content, .is-root-container) .wp-block-table :is(th, td) {
	padding: 12px 16px;
	border: 1px solid var(--hb-line);
	text-align: left;
}

:is(.hpt-content, .is-root-container) .wp-block-table thead {
	background: var(--hb-soft);
	color: var(--hb-ink);
}

:is(.hpt-content, .is-root-container) .wp-block-separator {
	margin: 48px 0;
	border: 0;
	border-top: 1px solid var(--hb-line);
}

:is(.hpt-content, .is-root-container) .wp-block-embed {
	margin: 36px 0;
}

:is(.hpt-content, .is-root-container) .wp-block-embed iframe {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	border-radius: 20px;
}

/* Blok: Výzva na objednanie
   ========================================================================== */
.hpt-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 32px;
	align-items: center;
	margin: 48px 0;
	padding: 40px;
	border-radius: 24px;
	color: #fff;
	font-family: var(--hb-font);
}

.hpt-cta--red {
	background: var(--hb-red);
	box-shadow: 0 20px 40px rgba(204, 23, 30, .22);
}

.hpt-cta--dark {
	padding: 56px;
	background: var(--hb-dark);
}

.hpt-cta .hpt-cta__title {
	margin: 0 0 10px;
	color: #fff;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.2;
}

.hpt-cta--dark .hpt-cta__title {
	font-size: 38px;
}

.hpt-cta .hpt-cta__text {
	margin: 0;
	color: rgba(255, 255, 255, .86);
	font-size: 18px;
	line-height: 1.5;
}

.hpt-cta__points {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.hpt-cta__points li {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
}

.hpt-cta .hpt-cta__points .hpt-ico {
	color: rgba(255, 255, 255, .8);
}

.hpt-cta__actions {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
}

.hpt-cta .hpt-cta__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 20px 44px;
	border-radius: 14px;
	background: #fff;
	color: var(--hb-ink);
	font-size: 19px;
	font-weight: 800;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform .2s, box-shadow .2s;
}

.hpt-cta .hpt-cta__btn:hover,
.hpt-cta .hpt-cta__btn:focus-visible {
	box-shadow: 0 10px 24px rgba(20, 23, 76, .18);
	transform: translateY(-1px);
}

.hpt-cta--dark .hpt-cta__btn {
	text-transform: uppercase;
	letter-spacing: .02em;
}

.hpt-cta .hpt-cta__phone {
	color: #fff;
	font-size: 17px;
	font-weight: 800;
	text-decoration: none;
}

.hpt-cta--dark .hpt-cta__phone {
	color: rgba(255, 255, 255, .86);
}

/* Blok: Zvýraznený box
   ========================================================================== */
.hpt-box {
	display: flex;
	gap: 20px;
	margin: 32px 0;
	padding: 28px 32px;
	border-radius: 20px;
	font-family: var(--hb-font);
}

.hpt-box__icon {
	flex: none;
	padding-top: 2px;
	line-height: 0;
}

.hpt-box__content {
	flex: 1;
	min-width: 0;
}

.hpt-box .hpt-box__content :where(p, li) {
	font-size: 19px;
	line-height: 1.6;
}

.hpt-box .hpt-box__content > :last-child,
.hpt-box .hpt-box__content .block-editor-block-list__layout > :last-child {
	margin-bottom: 0;
}

.hpt-box--info {
	background: var(--hb-dark);
	color: rgba(255, 255, 255, .82);
}

.hpt-box--info .hpt-box__icon {
	color: var(--hb-coral);
}

.hpt-box--info :where(p, li) {
	color: rgba(255, 255, 255, .82);
}

.hpt-box--info :where(strong, b) {
	color: #fff;
}

.hpt-box--warning {
	border: 1px solid #F3DCA7;
	background: #FFF6E5;
	color: #5F4310;
}

.hpt-box--warning .hpt-box__icon {
	color: #C7860E;
}

.hpt-box--warning :where(p, li, strong, b) {
	color: #5F4310;
}

/* Blok: Porovnanie
   ========================================================================== */
.hpt-compare {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 36px 0;
	font-family: var(--hb-font);
}

.hpt-compare--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hpt-compare__card {
	padding: 26px;
	border: 1px solid var(--hb-line);
	border-radius: 22px;
	background: #fff;
}

.hpt-compare__media {
	display: grid;
	place-items: center;
	margin: 0 0 22px;
	overflow: hidden;
	aspect-ratio: 16 / 7;
	border-radius: 16px;
	background: var(--hb-soft);
	color: var(--hb-lavender);
}

.hpt-compare__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.hpt-compare .hpt-compare__title {
	margin: 0 0 8px;
	color: var(--hb-ink);
	font-size: 22px;
	font-weight: 800;
	line-height: 1.3;
}

.hpt-compare .hpt-compare__text {
	margin: 0;
	color: var(--hb-muted);
	font-size: 18px;
	line-height: 1.5;
}

/* Blok: Vyjadrenie lekára
   ========================================================================== */
.hpt-quote {
	margin: 40px 0;
	overflow: hidden;
	border: 1px solid var(--hb-line);
	border-radius: 24px;
	background: #fff;
	font-family: var(--hb-font);
}

.hpt-quote__main {
	display: grid;
	grid-template-columns: 248px minmax(0, 1fr);
}

.hpt-quote__media {
	display: grid;
	place-items: center;
	min-height: 100%;
	background: linear-gradient(160deg, #EDEEF3 0%, #D9DAE5 100%);
	color: #9A9CB8;
}

.hpt-quote__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hpt-quote__body {
	padding: 36px 40px;
}

.hpt-quote__mark {
	display: block;
	margin-bottom: 10px;
	color: var(--hb-red);
}

.hpt-quote .hpt-quote__text {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

.hpt-quote .hpt-quote__text p {
	margin: 0;
	color: var(--hb-ink);
	font-size: 23px;
	font-style: italic;
	line-height: 1.55;
}

.hpt-quote__author {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 24px;
	font-style: normal;
}

.hpt-quote__name {
	color: var(--hb-ink);
	font-size: 20px;
	font-weight: 800;
}

.hpt-quote__role {
	color: var(--hb-muted);
	font-size: 16px;
	line-height: 1.4;
}

.hpt-quote__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 22px 36px;
	border-top: 1px solid var(--hb-line);
	background: var(--hb-soft);
}

.hpt-quote__bar-text strong {
	display: block;
	color: var(--hb-ink);
	font-size: 19px;
	font-weight: 800;
}

.hpt-quote__bar-text span {
	color: var(--hb-muted);
	font-size: 16px;
	line-height: 1.4;
}

.hpt-quote__bar .hpt-btn {
	flex: none;
	padding: 16px 26px;
	font-size: 17px;
}

/* Blok: Odporúčaný lekár
   ========================================================================== */
.hpt-doctors {
	margin: 40px 0;
	font-family: var(--hb-font);
}

.hpt-doctor {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr) auto;
	gap: 28px;
	align-items: center;
	padding: 24px 28px;
	border: 1px solid var(--hb-line);
	border-radius: 22px;
	background: #fff;
}

.hpt-doctor + .hpt-doctor {
	margin-top: 16px;
}

.hpt-doctor__photo {
	display: grid;
	place-items: center;
	width: 140px;
	overflow: hidden;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--hb-soft);
	box-shadow: 0 0 0 4px #fff, 0 0 0 5px var(--hb-line);
	color: #9A9CB8;
}

.hpt-doctor__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hpt-doctors .hpt-doctor__name {
	margin: 0 0 6px;
	color: var(--hb-ink);
	font-size: 26px;
	font-weight: 900;
	line-height: 1.2;
}

.hpt-doctors .hpt-doctor__role {
	margin: 0 0 10px;
	color: var(--hb-red);
	font-size: 17px;
	font-weight: 800;
	line-height: 1.35;
}

.hpt-doctors .hpt-doctor__desc {
	margin: 0;
	color: var(--hb-muted);
	font-size: 17px;
	line-height: 1.5;
}

/* Blok: Výhody polikliniky
   ========================================================================== */
.hpt-benefits {
	margin: 32px 0 40px;
	font-family: var(--hb-font);
}

.hpt-benefits .hpt-benefits__title {
	margin: 0 0 18px;
	color: var(--hb-ink);
	font-size: 21px;
	font-weight: 800;
}

.hpt-benefits .hpt-benefits__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hpt-benefits .hpt-benefits__item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin: 0;
	padding: 20px 22px;
	border: 1px solid var(--hb-line);
	border-radius: 16px;
	color: var(--hb-ink);
	font-size: 18px;
	line-height: 1.45;
}

.hpt-benefits__item:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.hpt-benefits__item .hpt-ico {
	margin-top: 1px;
	color: var(--hb-red);
}

/* Zoznam článkov
   ========================================================================== */
.hpt-blog {
	padding: var(--hb-header-offset) 0 96px;
}

.hpt-blog__head {
	max-width: 760px;
	margin: 0 0 32px;
}

.hpt-blog__title {
	margin: 0 0 16px;
	color: var(--hb-ink);
	font-family: var(--hb-font);
	font-size: clamp(36px, 4vw, 56px);
	font-weight: 900;
	line-height: 1.1;
	letter-spacing: -.02em;
}

.hpt-blog__intro {
	color: var(--hb-text);
	font-size: 20px;
	line-height: 1.6;
}

.hpt-blog__intro p {
	margin: 0 0 12px;
}

.hpt-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 40px;
}

.hpt-filter__item {
	padding: 10px 18px;
	border: 1px solid var(--hb-line);
	border-radius: 999px;
	color: var(--hb-ink);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .2s, color .2s, border-color .2s;
}

.hpt-filter__item:hover,
.hpt-filter__item.is-active {
	border-color: var(--hb-red);
	background: var(--hb-red);
	color: #fff;
}

.hpt-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.hpt-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--hb-line);
	border-radius: 22px;
	background: #fff;
	transition: box-shadow .2s;
}

.hpt-card:hover {
	box-shadow: 0 20px 40px rgba(20, 23, 76, .08);
}

.hpt-card__media {
	display: block;
	aspect-ratio: 16 / 10;
	background: var(--hb-soft);
}

.hpt-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hpt-card__placeholder {
	display: grid;
	place-items: center;
	height: 100%;
	color: var(--hb-lavender);
}

.hpt-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 12px;
	padding: 22px 24px 26px;
}

.hpt-card__title {
	margin: 0;
	font-family: var(--hb-font);
	font-size: 22px;
	font-weight: 900;
	line-height: 1.25;
}

.hpt-card__title a {
	color: var(--hb-ink);
	text-decoration: none;
}

.hpt-card__title a:hover {
	color: var(--hb-red);
}

.hpt-card__excerpt {
	margin: 0;
	color: var(--hb-muted);
	font-size: 16px;
	line-height: 1.55;
}

.hpt-card__meta {
	margin: auto 0 0;
	color: var(--hb-muted);
	font-size: 14px;
}

.hpt-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
	margin-top: 48px;
}

.hpt-pagination .page-numbers {
	padding: 10px 16px;
	border: 1px solid var(--hb-line);
	border-radius: 10px;
	color: var(--hb-ink);
	font-weight: 700;
	text-decoration: none;
}

.hpt-pagination .page-numbers.current,
.hpt-pagination a.page-numbers:hover {
	border-color: var(--hb-red);
	background: var(--hb-red);
	color: #fff;
}

.hpt-blog__empty {
	color: var(--hb-muted);
	font-size: 18px;
}

/* Tablet
   ========================================================================== */
@media (max-width: 1024px) {
	.hpt-hero__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 40px;
	}

	.hpt-hero__media {
		max-width: 640px;
	}

	.hpt-rating {
		left: 24px;
		bottom: 24px;
	}

	.hpt-article__layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
		padding-top: 40px;
	}

	.hpt-toc {
		position: static;
	}

	.hpt-toc__box {
		padding: 16px 20px;
		border-radius: 14px;
		background: var(--hb-soft);
	}

	.hpt-toc__title {
		cursor: pointer;
	}

	.hpt-toc__title .hpt-ico {
		display: block;
	}

	.hpt-toc__box[open] .hpt-toc__title .hpt-ico {
		transform: rotate(180deg);
	}

	.hpt-toc__list {
		margin-top: 14px;
	}

	.hpt-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.hpt-cta--dark {
		padding: 44px;
	}
}

/* Mobil
   ========================================================================== */
@media (max-width: 767px) {
	.hpt-article,
	.hpt-blog {
		--hb-header-offset: 134px;
		--hb-sticky-top: 120px;
	}

	.hpt-hero {
		padding-bottom: 40px;
	}

	.hpt-hero__title {
		margin: 18px 0;
		font-size: 36px;
	}

	.hpt-hero__lead {
		font-size: 19px;
	}

	.hpt-hero__actions {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.hpt-hero__phone {
		justify-content: center;
	}

	.hpt-chips {
		flex-direction: column;
		align-items: flex-start;
	}

	/* Karta s hodnotením je pod fotkou a prekrýva jej spodný okraj (ako na ambulanciách) */
	.hpt-rating {
		position: relative;
		left: auto;
		bottom: auto;
		gap: 14px;
		margin: -34px 14px 0;
		padding: 16px 20px;
		box-shadow: 0 12px 30px rgba(20, 23, 76, .14);
	}

	.hpt-rating strong {
		font-size: 38px;
	}

	:is(.hpt-content, .is-root-container) {
		font-size: 17px;
	}

	:is(.hpt-content, .is-root-container) :where(h2) {
		margin-top: 52px;
		font-size: 28px;
	}

	:is(.hpt-content, .is-root-container) :where(p.is-style-lead) {
		font-size: 19px;
	}

	:is(.hpt-content, .is-root-container) ul.is-style-checks {
		grid-template-columns: minmax(0, 1fr);
	}

	:is(.hpt-content, .is-root-container) ul.is-style-checks > li {
		font-size: 17px;
	}

	.hpt-cta,
	.hpt-cta--dark {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding: 28px 24px;
	}

	.hpt-cta .hpt-cta__title,
	.hpt-cta--dark .hpt-cta__title {
		font-size: 26px;
	}

	.hpt-cta__points {
		flex-direction: column;
	}

	.hpt-cta__actions {
		align-items: stretch;
	}

	.hpt-cta .hpt-cta__btn {
		padding: 18px 24px;
	}

	.hpt-cta__phone {
		text-align: center;
	}

	.hpt-box {
		flex-direction: column;
		gap: 12px;
		padding: 24px;
	}

	.hpt-compare,
	.hpt-compare--3 {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	.hpt-compare__card {
		padding: 20px;
	}

	.hpt-quote__main {
		grid-template-columns: minmax(0, 1fr);
	}

	.hpt-quote__media {
		height: 260px;
	}

	.hpt-quote__body {
		padding: 28px 24px;
	}

	.hpt-quote .hpt-quote__text p {
		font-size: 20px;
	}

	.hpt-quote__bar {
		flex-direction: column;
		align-items: stretch;
		padding: 22px 24px;
	}

	.hpt-doctor {
		grid-template-columns: 88px minmax(0, 1fr);
		gap: 18px;
		padding: 20px;
	}

	.hpt-doctor__photo {
		width: 88px;
	}

	.hpt-doctors .hpt-doctor__name {
		font-size: 21px;
	}

	.hpt-doctor .hpt-btn {
		grid-column: 1 / -1;
	}

	.hpt-benefits .hpt-benefits__list {
		grid-template-columns: minmax(0, 1fr);
	}

	.hpt-cards {
		grid-template-columns: minmax(0, 1fr);
	}
}
