/*
 * ClinicBook — blog, pages, archives, search, 404, comments.
 * Loaded on blog screens and on pages not built with Elementor (theme.css has the tokens).
 */

/* ------------------------------------------------------------ page header band */
.mdb-pagehead { position: relative; overflow: hidden; padding-block: clamp(44px, 6vw, 84px) clamp(36px, 5vw, 64px); background: var(--mdb-sand); border-block-end: 1px solid var(--mdb-line); }
.mdb-pagehead::after { content: ""; position: absolute; inset-block-start: -40%; inset-inline-end: -8%; width: 46vw; max-width: 620px; aspect-ratio: 1; border-radius: 50%; border: 1px solid color-mix(in srgb, var(--mdb-primary) 12%, transparent); box-shadow: 0 0 0 60px color-mix(in srgb, var(--mdb-primary) 3%, transparent), 0 0 0 120px color-mix(in srgb, var(--mdb-primary) 2.5%, transparent); pointer-events: none; }
.mdb-pagehead .mdb-container { position: relative; z-index: 1; }
.mdb-pagehead__title { max-width: 22ch; margin: 0; }
.mdb-pagehead__intro { max-width: 62ch; margin-block-start: 16px; color: var(--mdb-muted); font-size: 1.15rem; }
.mdb-pagehead__intro p:last-child { margin: 0; }

/* breadcrumbs */
.mdb-crumbs { margin-block-end: 20px; font-size: .88rem; }
.mdb-crumbs ol { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; padding: 0; list-style: none; }
.mdb-crumbs li { display: inline-flex; align-items: center; gap: 4px; color: var(--mdb-muted); }
.mdb-crumbs li + li::before { content: "/"; margin-inline-end: 4px; opacity: .55; }
.mdb-crumbs a { color: var(--mdb-muted); text-decoration: none; font-weight: 550; }
.mdb-crumbs a:hover { color: var(--mdb-link); }
.mdb-crumbs [aria-current] { color: var(--mdb-ink); font-weight: 600; display: inline-block; max-width: 40ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }

/* ------------------------------------------------------------ post lists */
.mdb-posts--grid { display: grid; gap: 28px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.mdb-has-sidebar .mdb-posts--grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.mdb-card { position: relative; display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--mdb-line); border-radius: var(--mdb-r-lg); background: var(--mdb-surface); transition: transform .35s var(--mdb-ease), box-shadow .35s var(--mdb-ease), border-color .35s; }
.mdb-card:hover { transform: translateY(-4px); box-shadow: var(--mdb-shadow); border-color: var(--mdb-line-2); }
.mdb-card__media { display: block; overflow: hidden; aspect-ratio: 3 / 2; background: var(--mdb-sunken); }
.mdb-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--mdb-ease); }
.mdb-card:hover .mdb-card__media img { transform: scale(1.04); }
.mdb-card__body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 22px 24px 26px; }
.mdb-card__kicker { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; color: var(--mdb-muted); font-size: .85rem; }
.mdb-card__title { margin: 0; font-size: 1.32rem; line-height: 1.22; }
.mdb-card__title a { color: var(--mdb-ink); text-decoration: none; background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size .35s var(--mdb-ease); }
.mdb-card__title a:hover { background-size: 100% 1px; }
.mdb-card__title a::after { content: ""; position: absolute; inset: 0; }
.mdb-card__excerpt { margin: 0; color: var(--mdb-muted); font-size: .98rem; }
.mdb-card .mdb-badge { position: relative; z-index: 1; }

.mdb-posts--list { display: grid; gap: 20px; }
.mdb-row { position: relative; display: grid; gap: 20px; padding: 18px; border: 1px solid var(--mdb-line); border-radius: var(--mdb-r-lg); background: var(--mdb-surface); transition: box-shadow .3s var(--mdb-ease), border-color .3s; }
.mdb-row:hover { box-shadow: var(--mdb-shadow); border-color: var(--mdb-line-2); }
@media (min-width: 640px) { .mdb-row:has(.mdb-row__media) { grid-template-columns: 240px minmax(0, 1fr); align-items: center; } }
.mdb-row__media { display: block; overflow: hidden; aspect-ratio: 3 / 2; border-radius: var(--mdb-r); background: var(--mdb-sunken); }
.mdb-row__media img { width: 100%; height: 100%; object-fit: cover; }
.mdb-row__body { display: grid; gap: 8px; padding-inline-end: 8px; }
.mdb-row__title { margin: 0; font-size: 1.35rem; }
.mdb-row__title a { color: var(--mdb-ink); text-decoration: none; }
.mdb-row__title a::after { content: ""; position: absolute; inset: 0; }
.mdb-row__title a:hover { color: var(--mdb-primary); }
.mdb-row__excerpt { margin: 0; color: var(--mdb-muted); }
.mdb-row .mdb-badge { position: relative; z-index: 1; }
.mdb-search-again { margin-block-end: 28px; max-width: 620px; }

/* pagination */
.mdb-pagination { margin-block-start: 48px; }
.mdb-pagination .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.mdb-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 46px; height: 46px; padding: 0 12px; border: 1px solid var(--mdb-line-2); border-radius: var(--mdb-pill); color: var(--mdb-ink); font-weight: 650; text-decoration: none; }
.mdb-pagination .page-numbers:hover { border-color: var(--mdb-ink); }
.mdb-pagination .page-numbers.current { background: var(--mdb-primary); border-color: var(--mdb-primary); color: var(--mdb-on-primary); }
.mdb-pagination .dots { border: 0; }

/* empty + 404 */
.mdb-empty { display: grid; justify-items: center; gap: 8px; padding: 56px 24px; border: 1px dashed var(--mdb-line-2); border-radius: var(--mdb-r-lg); text-align: center; }
.mdb-empty__icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--mdb-soft); color: var(--mdb-primary); }
.mdb-empty__title { margin: 8px 0 0; }
.mdb-empty .mdb-searchform { width: min(520px, 100%); }
.mdb-404 { padding-block: clamp(64px, 10vw, 140px); text-align: center; }
.mdb-404__code { margin: 0; color: transparent; font: 600 clamp(6rem, 18vw, 12rem)/.9 var(--mdb-font-head); letter-spacing: -.04em; -webkit-text-stroke: 1.5px var(--mdb-primary); }
.mdb-404__title { margin: 16px 0 12px; }
.mdb-404__text { max-width: none; margin: 0 auto 28px; color: var(--mdb-muted); }
.mdb-404 .mdb-searchform { max-width: 560px; margin-inline: auto; }
.mdb-404__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 28px 0 0; padding: 0; list-style: none; }

/* ------------------------------------------------------------ single article */
.mdb-article__head { padding-block: clamp(40px, 6vw, 80px) clamp(28px, 4vw, 44px); text-align: center; }
.mdb-article__head .mdb-crumbs ol { justify-content: center; }
.mdb-article__kicker { margin-block-end: 18px; }
.mdb-article__title { margin: 0 auto; max-width: 20ch; font-size: clamp(2.2rem, 1.5rem + 2.8vw, 3.9rem); }
.mdb-article__lede { max-width: 58ch; margin: 18px auto 0; color: var(--mdb-muted); font-size: 1.2rem; line-height: 1.6; }
.mdb-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 18px; margin-block-start: 24px; color: var(--mdb-muted); font-size: .92rem; }
.mdb-meta > * + *::before { content: "·"; margin-inline-end: 18px; opacity: .6; }
.mdb-meta__author { display: inline-flex; align-items: center; gap: 10px; }
.mdb-meta__author a { color: var(--mdb-ink); font-weight: 650; text-decoration: none; }
.mdb-meta__avatar { border-radius: 50%; }
.mdb-article__media { margin-block: 0; }
.mdb-article__media img { width: 100%; max-height: 640px; object-fit: cover; border-radius: var(--mdb-r-lg); }
.mdb-article__media figcaption { margin-block-start: 10px; color: var(--mdb-muted); font-size: .88rem; text-align: center; }
.mdb-article .mdb-layout { padding-block-start: clamp(32px, 5vw, 56px); }
.mdb-article .mdb-layout:not(.mdb-layout--sidebar) .mdb-layout__main { width: 100%; max-width: var(--mdb-narrow); margin-inline: auto; }
.mdb-article__foot { display: grid; gap: 28px; margin-block-start: 48px; }

/* prose */
.mdb-prose { color: var(--mdb-text); font-size: 1.1rem; line-height: 1.78; }
.mdb-prose > * { margin-block: 0 1.25em; }
.mdb-prose > :first-child { margin-block-start: 0; }
.mdb-prose h2 { margin-block: 1.8em .55em; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.1rem); }
.mdb-prose h3 { margin-block: 1.6em .5em; font-size: 1.45rem; }
.mdb-prose h4 { margin-block: 1.4em .4em; }
.mdb-prose > p:first-of-type::first-letter { float: inline-start; margin: .08em .1em 0 0; color: var(--mdb-primary); font: 600 4.1em/.8 var(--mdb-font-head); }
.mdb-page .mdb-prose > p:first-of-type::first-letter, .mdb-prose.no-dropcap > p:first-of-type::first-letter { float: none; margin: 0; color: inherit; font: inherit; }
.mdb-prose a { color: var(--mdb-link); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--mdb-link) 40%, transparent); }
.mdb-prose a:hover { text-decoration-color: currentColor; }
.mdb-prose ul, .mdb-prose ol { padding-inline-start: 1.3em; }
.mdb-prose li { margin-block: .35em; }
.mdb-prose li::marker { color: var(--mdb-accent-ink); font-weight: 700; }
.mdb-prose blockquote, .mdb-prose .wp-block-quote { position: relative; margin-inline: 0; padding: 8px 0 8px 28px; border-inline-start: 3px solid var(--mdb-accent); color: var(--mdb-ink); font: italic 450 1.4rem/1.5 var(--mdb-font-head); }
.mdb-prose blockquote cite, .mdb-prose .wp-block-quote cite { display: block; margin-block-start: 10px; color: var(--mdb-muted); font: 600 .9rem/1.4 var(--mdb-font-body); font-style: normal; }
.mdb-prose .wp-block-quote.is-style-accent { padding: 28px 32px; border: 0; border-radius: var(--mdb-r-lg); background: var(--mdb-accent-soft); }
.mdb-prose .wp-block-pullquote { padding: 32px 0; border-block: 2px solid var(--mdb-ink); text-align: center; }
.mdb-prose .wp-block-pullquote blockquote { border: 0; padding: 0; }
.mdb-prose figure { margin-inline: 0; }
.mdb-prose figure img, .mdb-prose .wp-block-image img { border-radius: var(--mdb-r); }
.mdb-prose figcaption, .mdb-prose .wp-element-caption { margin-block-start: 8px; color: var(--mdb-muted); font-size: .88rem; text-align: center; }
.mdb-prose .alignwide { max-width: min(1100px, 100vw - 2 * var(--mdb-gutter)); margin-inline: calc(50% - min(550px, 50vw - var(--mdb-gutter))); }
.mdb-has-sidebar .mdb-prose .alignwide, .mdb-has-sidebar .mdb-prose .alignfull { max-width: 100%; margin-inline: 0; }
.mdb-prose .alignfull { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); }
.mdb-prose .alignleft { float: left; margin: .3em 1.5em 1em 0; max-width: 50%; }
.mdb-prose .alignright { float: right; margin: .3em 0 1em 1.5em; max-width: 50%; }
.mdb-prose .aligncenter { margin-inline: auto; }
.mdb-prose code, .mdb-prose kbd { padding: .12em .4em; border-radius: 6px; background: var(--mdb-sand); font-size: .88em; }
.mdb-prose pre { overflow: auto; padding: 20px 22px; border-radius: var(--mdb-r); background: var(--mdb-navy); color: var(--mdb-on-navy); font-size: .9rem; line-height: 1.6; }
.mdb-prose pre code { padding: 0; background: none; }
.mdb-prose table { width: 100%; border-collapse: collapse; font-size: .97rem; }
.mdb-prose th, .mdb-prose td { padding: 12px 14px; border-block-end: 1px solid var(--mdb-line); text-align: start; }
.mdb-prose thead th { color: var(--mdb-ink); font-weight: 700; border-block-end: 2px solid var(--mdb-ink); }
.mdb-prose .wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--mdb-sand); }
.mdb-prose .wp-block-button__link { padding: .75em 1.5em; border-radius: var(--mdb-pill); background: var(--mdb-primary); color: var(--mdb-on-primary); font-weight: 650; text-decoration: none; }
.mdb-prose .is-style-outline .wp-block-button__link { border: 1px solid var(--mdb-ink); background: transparent; color: var(--mdb-ink); }
.mdb-prose .wp-block-group.is-style-card { padding: 28px; border: 1px solid var(--mdb-line); border-radius: var(--mdb-r-lg); background: var(--mdb-surface); }
.mdb-prose .wp-block-separator { border: 0; border-block-start: 1px solid var(--mdb-line); }
.mdb-prose .wp-block-gallery { gap: 12px; }
.mdb-prose .gallery-caption, .mdb-prose .wp-caption-text { color: var(--mdb-muted); font-size: .88rem; }
.mdb-prose .wp-caption { max-width: 100%; }
.mdb-prose .sticky, .mdb-prose .bypostauthor { outline: 0; }
.mdb-pagelinks { display: flex; gap: 8px; align-items: center; margin-block-start: 24px; font-weight: 650; }

/* tags, author, post nav */
.mdb-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.mdb-tags a { display: inline-block; padding: 6px 14px; border: 1px solid var(--mdb-line-2); border-radius: var(--mdb-pill); color: var(--mdb-ink); font-size: .88rem; font-weight: 600; text-decoration: none; }
.mdb-tags a::before { content: "#"; color: var(--mdb-accent-ink); margin-inline-end: 2px; }
.mdb-tags a:hover { border-color: var(--mdb-ink); }
.mdb-author { display: grid; grid-template-columns: auto 1fr; gap: 20px; padding: 26px; border-radius: var(--mdb-r-lg); background: var(--mdb-sand); }
.mdb-author__avatar { border-radius: 50%; }
.mdb-author__label { margin: 0; color: var(--mdb-muted); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mdb-author__name { margin: 2px 0 8px; font: 600 1.3rem/1.2 var(--mdb-font-head); }
.mdb-author__name a { color: var(--mdb-ink); text-decoration: none; }
.mdb-author__bio { margin: 0; color: var(--mdb-text); font-size: .98rem; }
.mdb-postnav .nav-links { display: grid; gap: 14px; }
@media (min-width: 640px) { .mdb-postnav .nav-links { grid-template-columns: 1fr 1fr; } }
.mdb-postnav a { display: grid; gap: 4px; height: 100%; padding: 18px 22px; border: 1px solid var(--mdb-line); border-radius: var(--mdb-r-lg); background: var(--mdb-surface); text-decoration: none; transition: border-color .2s, box-shadow .2s; }
.mdb-postnav a:hover { border-color: var(--mdb-line-2); box-shadow: var(--mdb-shadow-sm); }
.mdb-postnav .nav-next { text-align: end; }
.mdb-postnav__dir { color: var(--mdb-muted); font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.mdb-postnav__title { color: var(--mdb-ink); font: 600 1.1rem/1.3 var(--mdb-font-head); }

/* ------------------------------------------------------------ comments */
.mdb-comments { margin-block-start: 56px; padding-block-start: 40px; border-block-start: 1px solid var(--mdb-line); }
.mdb-comments__title, .mdb-comments__reply { font-size: 1.6rem; }
.mdb-comments__list, .mdb-comments__list .children { margin: 0; padding: 0; list-style: none; }
.mdb-comments__list .children { padding-inline-start: clamp(16px, 4vw, 48px); }
.mdb-comments__list .comment-body { position: relative; margin-block-end: 18px; padding: 20px 22px; border: 1px solid var(--mdb-line); border-radius: var(--mdb-r-lg); background: var(--mdb-surface); }
.mdb-comments__list .comment-author { display: flex; align-items: center; gap: 12px; color: var(--mdb-ink); font-weight: 700; }
.mdb-comments__list .comment-author .avatar { border-radius: 50%; }
.mdb-comments__list .says { display: none; }
.mdb-comments__list .comment-metadata { margin-block: 2px 10px; padding-inline-start: 60px; font-size: .84rem; }
.mdb-comments__list .comment-metadata a { color: var(--mdb-muted); text-decoration: none; }
.mdb-comments__list .comment-content { padding-inline-start: 60px; }
.mdb-comments__list .comment-content p:last-child { margin: 0; }
.mdb-comments__list .reply { padding-inline-start: 60px; margin-block-start: 8px; }
.mdb-comments__list .comment-reply-link { color: var(--mdb-link); font-size: .88rem; font-weight: 700; text-decoration: none; }
.mdb-comments__list .bypostauthor > .comment-body { border-color: color-mix(in srgb, var(--mdb-accent) 60%, var(--mdb-line)); }
.comment-respond { margin-block-start: 32px; padding: clamp(22px, 4vw, 36px); border-radius: var(--mdb-r-lg); background: var(--mdb-sand); }
.comment-form { display: grid; gap: 16px; }
.comment-form p { margin: 0; }
.comment-form label { display: block; margin-block-end: 6px; }
.comment-form-cookies-consent { display: flex; gap: 10px; align-items: flex-start; }
.comment-form-cookies-consent label { font-weight: 450; font-size: .92rem; }
.comment-notes, .logged-in-as { color: var(--mdb-muted); font-size: .92rem; }
@media (min-width: 720px) { .comment-form-author, .comment-form-email { display: inline-block; } .comment-form { grid-template-columns: 1fr 1fr; } .comment-form > p:not(.comment-form-author):not(.comment-form-email) { grid-column: 1 / -1; } }

/* pages without Elementor */
.mdb-page { padding-block: clamp(40px, 6vw, 72px) var(--mdb-section); }

/* ------------------------------------------------ ClinicBook page header: a rounded mesh panel inside the container */
.mdb-pagehead { padding-block: 22px 0; background: none; border: 0; overflow: visible; }
.mdb-pagehead::after { display: none; }
.mdb-pagehead > .mdb-container > * { position: relative; z-index: 1; }
.mdb-pagehead > .mdb-container { position: relative; padding-block: clamp(36px, 5vw, 64px); border-radius: 32px; background: var(--mdb-sand); padding-inline: clamp(24px, 4vw, 56px); max-width: calc(var(--mdb-container) + 0px); width: calc(100% - 2 * var(--mdb-gutter)); }
[data-theme="dark"] .mdb-pagehead > .mdb-container { background: var(--mdb-sand); }
.mdb-pagehead__title { font-size: clamp(2.2rem, 1.5rem + 2.4vw, 3.6rem); letter-spacing: -.04em; }
.mdb-pagehead .mdb-eyebrow { margin-block-end: 14px; }
.mdb-crumbs ol { gap: 4px 6px; }
.mdb-pagehead__title { max-width: none; }
.mdb-pagehead__intro { max-width: none; }
.mdb-pagehead__intro p { max-width: 62ch; }
