/*
Theme Name: Kliahina Clinic
Theme URI: https://kliahina.com.ua/
Author: Kliahina Clinic
Description: A light, calm and content-first WordPress theme for an aesthetic medicine clinic.
Version: 1.3.11
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: kliahina-clinic
*/

:root {
	--brand-cocoa: #2c1708;
	--brand-bronze: #8d6335;
	--brand-bronze-deep: #704a25;
	--brand-bronze-rich: #80572f;
	--brand-bronze-light: #966b3c;
	--brand-gold: #b99a79;
	--brand-slate: #716d67;
	--ink: #3f2b1b;
	--muted: #716d67;
	--paper: #f5f3f0;
	--mist: #e6e3df;
	--sand: #dfd0c0;
	--peach: #c0a080;
	--line: #ccc7c1;
	--white: #faf9f7;
	--radius: 1.5rem;
	--shadow: 0 18px 52px rgba(44, 23, 8, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.6; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, select { font: inherit; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { left: 1rem; top: 1rem; width: auto; height: auto; padding: .7rem 1rem; margin: 0; clip: auto; background: var(--white); color: var(--ink); z-index: 100; }
.site-shell { overflow: hidden; }
.container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.site-header { background: rgba(251,250,246,.93); border-bottom: 1px solid rgba(220,228,221,.72); position: sticky; top: 0; z-index: 40; backdrop-filter: blur(13px); }
.header-row { min-height: 100px; display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; letter-spacing: .02em; font-weight: 760; line-height: 1.05; }
.brand__mark { display: grid; place-items: center; width: 34px; aspect-ratio: 1; border: 1px solid #b9c9bd; border-radius: 50%; color: #587267; font-family: Georgia, serif; font-size: 1.35rem; font-style: italic; }
.brand__name { font-size: calc(.9rem + 2px); }
.brand__name small { display: block; margin-top: .2rem; color: var(--muted); font-size: calc(.58rem + 2px); letter-spacing: .16em; font-weight: 700; }
.site-navigation ul { display: flex; align-items: center; gap: 1.2rem; list-style: none; padding: 0; margin: 0; }
.site-navigation a { color: #3a4b45; font-family: "Times New Roman", Times, serif; font-size: calc(.94rem + 2px); font-weight: 620; transition: color .2s ease; }
.site-navigation a:hover, .site-navigation .current-menu-item > a { color: #a16c5b; }
.menu-toggle { display: none; border: 0; background: none; color: var(--ink); padding: .5rem; cursor: pointer; }
.menu-toggle span { display: block; width: 22px; height: 1.5px; margin: 5px; background: currentColor; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .65rem; min-height: 48px; padding: .75rem 1.1rem; border: 1px solid transparent; border-radius: 100px; font-weight: 720; font-size: calc(.96rem + 2px); cursor: pointer; transition: transform .2s ease, background .2s ease, border-color .2s ease; }
.button:hover { transform: translateY(-2px); }
.button--dark { background: var(--ink); color: var(--white); }
.button--dark:hover { background: #314a41; }
.header-cta { font-family: "Times New Roman", Times, serif; }
.button--light { background: rgba(255,255,255,.78); color: var(--ink); border-color: rgba(32,50,46,.14); }
.button--light:hover { background: var(--white); }
.button--small { min-height: 38px; padding: .5rem .85rem; font-size: calc(.86rem + 2px); }
.eyebrow { display: inline-flex; align-items: center; gap: .55rem; margin: 0 0 1rem; color: #9c6657; font-size: calc(.81rem + 2px); font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; }
h1, h2, h3 { font-family: Iowan Old Style, Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.035em; line-height: 1.1; }
h1 { font-size: clamp(2.35rem, calc(6.2vw - 8px), 5rem); max-width: 10ch; margin: 0; }
h2 { font-size: clamp(1.5rem, calc(3.8vw - 8px), 3rem); margin: 0; }
h3 { font-size: calc(1.5rem - 8px); margin: 0; }
.section { padding: 6.5rem 0; }
.section--mist { background: var(--mist); }
.section--sand { background: var(--sand); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.section-heading p { max-width: 45ch; margin: 0; color: var(--muted); }
.hero { position: relative; padding: clamp(4rem, 8vw, 7.8rem) 0 5rem; background: linear-gradient(120deg, #edf3ee 0%, #f6f3eb 56%, #f2e4da 100%); }
.hero::before { content: ""; position: absolute; width: 35vw; height: 35vw; right: -9vw; top: -18vw; border: 1px solid rgba(104,132,119,.3); border-radius: 48% 52% 55% 45%; }
.hero-grid { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 4rem; }
.hero h1 { font-size: clamp(2.0375rem, calc(6.2vw - 13px), 4.6875rem); }
.hero-copy > p:not(.eyebrow) { max-width: 51ch; margin: 1.5rem 0 2rem; color: #485a53; font-size: 1.07rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .8rem; }
.hero-art { position: relative; min-height: 440px; border-radius: 49% 51% 29% 30% / 38% 37% 61% 62%; overflow: hidden; background: #bfd0c3; box-shadow: 0 30px 60px rgba(57,76,64,.15); }
.hero-art::before { content: ""; position: absolute; inset: 8% 13% -11% 17%; background: linear-gradient(145deg, #f8efe9 3%, #e6bbaa 59%, #bb8574 100%); border-radius: 49% 51% 25% 31% / 39% 38% 61% 62%; }
.hero-art::after { content: ""; position: absolute; width: 47%; aspect-ratio: 1; right: 16%; top: 19%; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; box-shadow: 0 0 0 26px rgba(255,255,255,.16), 0 0 0 53px rgba(255,255,255,.1); }
.hero-note { position: absolute; right: 10%; bottom: 22px; width: 205px; padding: 1.05rem 1.15rem; border-radius: 15px; background: rgba(255,255,255,.92); box-shadow: var(--shadow); font-size: calc(.88rem + 2px); color: #4b5b55; }
.hero-note strong { display: block; margin-bottom: .25rem; color: var(--ink); font-size: 1rem; }
.clinic-ticker { position: relative; z-index: 2; overflow: hidden; background: var(--inverse-bg); color: var(--inverse-text); border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.clinic-ticker__viewport { overflow: hidden; padding: .95rem 0; }
.clinic-ticker__track { display: flex; width: max-content; margin: 0; animation: clinic-ticker-scroll 34s linear infinite; }
.clinic-ticker__group { display: flex; align-items: center; flex: 0 0 auto; }
.clinic-ticker__item { display: inline-flex; align-items: center; gap: 1.5rem; flex: 0 0 auto; padding-left: 1.5rem; white-space: nowrap; font-size: calc(.88rem + 2px); font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.clinic-ticker__item::after { content: "✦"; color: var(--peach); font-size: calc(.81rem + 2px); }
.clinic-ticker:hover .clinic-ticker__track { animation-play-state: paused; }
@keyframes clinic-ticker-scroll { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .clinic-ticker__track { animation: none; } }
.service-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.service-card { position: relative; min-height: 280px; padding: 1.5rem; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: transform .25s ease, box-shadow .25s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: var(--shadow); }
.service-card__number { display: block; color: #a16c5b; font-size: calc(.84rem + 2px); font-weight: 750; letter-spacing: .09em; }
.service-card h3 { max-width: 13ch; margin: 4rem 0 1rem; font-size: clamp(1.375rem, 1.8vw, 1.55rem); font-weight: 600; }
.service-card p { max-width: 29ch; color: var(--muted); font-size: calc(.94rem + 2px); }
.service-card__arrow { display: inline-grid; place-items: center; position: absolute; width: 42px; height: 42px; right: 1.25rem; bottom: 1.25rem; border: 1px solid #cbd7cd; border-radius: 50%; color: #557064; font-size: 1.2rem; }
.service-card__shape { position: absolute; width: 145px; height: 145px; right: -51px; top: -53px; border-radius: 50%; background: #edf2ed; }
.service-card:nth-child(2) .service-card__shape, .service-card:nth-child(5) .service-card__shape { background: #f5e9e3; border-radius: 43% 57% 59% 41% / 44% 48% 52% 56%; }
.service-card:nth-child(3) .service-card__shape, .service-card:nth-child(6) .service-card__shape { background: #e1ebe4; border-radius: 55% 45% 35% 65% / 45% 60% 40% 55%; }
.split-story { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: clamp(2rem, 6vw, 7rem); }
.clinic-story .eyebrow { font-size: calc(.81rem + 4px); }
.clinic-story h2 { font-size: clamp(1.625rem, calc(3.8vw - 6px), 3.125rem); }
.clinic-story > div:last-child > p:not(.eyebrow), .clinic-story .story-list div { font-size: calc(1rem + 2px); }
.clinic-story .story-list b { font-size: calc(.86rem + 4px); }
.clinic-story .button { font-size: calc(.96rem + 4px); }
.story-art { min-height: 430px; position: relative; border-radius: 37% 63% 62% 38% / 43% 38% 62% 57%; background: linear-gradient(155deg, #ded1bd, #eec7b5); overflow: hidden; }
.story-art::after { content: ""; position: absolute; width: 130%; height: 67%; left: -13%; bottom: -19%; background: #e8f0ea; border-radius: 50% 50% 0 0; transform: rotate(-9deg); }
.story-list { display: grid; gap: 1.1rem; margin: 2rem 0; }
.story-list div { display: flex; gap: .85rem; align-items: flex-start; color: #405149; }
.story-list b { display: grid; place-items: center; flex: 0 0 25px; height: 25px; border-radius: 50%; background: #dce9df; color: #527564; font-size: calc(.86rem + 2px); }
.team-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1rem; }
.doctor-card { min-width: 0; }
.doctor-card__image { min-height: 218px; position: relative; display: flex; align-items: end; padding: 1rem; border-radius: 130px 130px 18px 18px; background: linear-gradient(140deg, #d4dfd5 0%, #e7ebe4 50%, #d4baad 100%); overflow: hidden; }
.doctor-card__image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.doctor-card__image .doctor-card__monogram { position: relative; z-index: 1; }
.doctor-card:nth-child(2n) .doctor-card__image { background: linear-gradient(140deg, #efe0d8, #d5e0d7); }
.doctor-card__monogram { display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid rgba(255,255,255,.7); border-radius: 50%; color: rgba(255,255,255,.9); font: italic 2rem Georgia, serif; }
.doctor-card h3 { margin: 1rem 0 .3rem; color: var(--ink); font-size: 1.25rem; font-weight: 650; letter-spacing: -.025em; line-height: 1.18; }
.doctor-card p { margin: 0; color: var(--muted); font-size: calc(.82rem + 2px); }
.quote-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem; }
.quote { display: flex; flex-direction: column; justify-content: space-between; min-height: 280px; padding: 2rem; border-radius: var(--radius); background: var(--white); box-shadow: var(--shadow); }
.quote--accent { background: var(--ink); color: var(--white); box-shadow: none; }
.quote__text { margin: 0; font: calc(1.55rem - 4px)/1.35 Iowan Old Style, Georgia, serif; letter-spacing: -.025em; }
.quote__author { margin: 1.5rem 0 0; color: var(--muted); font-size: calc(.86rem + 2px); font-weight: 700; }
.quote--accent .quote__author { color: #c4d4ca; }
.contact-section { position: relative; padding: 6rem 0; background: var(--ink); color: var(--white); }
.contact-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 4rem; }
.contact-section h2 { max-width: 11ch; }
.contact-section .eyebrow { color: #eabfad; }
.contact-details { margin-top: 2rem; display: grid; gap: .65rem; color: #d7e2db; font-size: calc(.98rem + 2px); }
.callback-form { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; padding: 1.4rem; background: var(--white); color: var(--ink); border-radius: var(--radius); }
.callback-form label { display: grid; gap: .35rem; color: #5c6d65; font-size: calc(.84rem + 2px); font-weight: 750; }
.callback-form input[type="text"], .callback-form input[type="tel"] { width: 100%; padding: .8rem .9rem; border: 1px solid #d7e0d9; border-radius: 9px; background: #fafbf9; outline-color: #9caf9f; }
.callback-form select { width: 100%; padding: .8rem .9rem; border: 1px solid #d7e0d9; border-radius: 9px; background: #fafbf9; color: var(--ink); outline-color: #9caf9f; }
.callback-form .appointment-type, .callback-form .contact-method { grid-column: 1 / -1; }
.callback-form .consent { grid-column: 1 / -1; grid-template-columns: 16px 1fr; align-items: start; color: #66766f; font-weight: 500; line-height: 1.4; }
.callback-form .price-policy { margin-top: -.25rem; }
.callback-form .button { grid-column: 1 / -1; justify-self: start; }
.form-message { margin: 0 0 1rem; padding: .75rem 1rem; border-radius: 10px; color: #214134; background: #dfeee1; }
.site-footer { padding: 3rem 0 1.5rem; background: #172722; color: #cad8ce; }
.footer-grid { display: grid; grid-template-columns: 1.2fr .7fr .7fr; gap: 2rem; padding-bottom: 2.5rem; border-bottom: 1px solid rgba(202,216,206,.2); }
.site-footer .brand { color: var(--white); }
.site-footer .brand__mark { color: #c8dfce; border-color: #759281; }
.site-footer h3 { margin-bottom: .7rem; font: 700 calc(.84rem + 2px)/1.2 Inter, sans-serif; letter-spacing: .13em; text-transform: uppercase; }
.site-footer p { font-size: 1.06rem; }
.site-footer ul { display: grid; gap: .45rem; list-style: none; padding: 0; margin: 0; font-size: calc(.92rem + 2px); }
.site-footer .footer-grid > :last-child h3 { font: 700 calc(.84rem + 4px)/1.2 Inter, sans-serif; }
.site-footer .footer-grid > :last-child ul { font-size: calc(.92rem + 4px); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.2rem; color: #9fb2a5; font-size: calc(.86rem + 2px); }
.page-hero { padding: 5.5rem 0 3.8rem; background: var(--mist); }
.page-hero h1 { max-width: 13ch; }
.page-hero p { max-width: 58ch; margin: 1.2rem 0 0; color: var(--muted); }
.post-type-archive-clinic_doctor .page-hero p:not(.eyebrow) { font-size: 1.06rem; }
.content-layout { max-width: 780px; margin: 0 auto; }
.entry-content { color: #46564f; }
.entry-content h2, .entry-content h3 { margin-top: 2.4rem; color: var(--ink); }
.entry-content a { color: #9a6152; text-decoration: underline; text-underline-offset: 3px; }
.entry-content ul { padding-left: 1.2rem; }
.archive-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.15rem; }
.archive-grid .doctor-card__image { min-height: 290px; }
.archive-grid--doctors { grid-template-columns: 1fr; max-width: 620px; margin: 0 auto; gap: 2.5rem; }
.archive-grid--doctors .doctor-card { display: block; }
.archive-grid--doctors .doctor-card__image { min-height: 520px; }
.archive-grid--doctors .doctor-card__details { padding-top: .2rem; }
.meta-line { margin: .65rem 0 0; color: #996554; font-size: calc(.84rem + 2px); font-weight: 750; }
.single-clinic_doctor .story-art > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.single-clinic_doctor .story-art::after { display: none; }
.article-card { padding: 1.5rem; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.article-card h2 { margin: .65rem 0; font-size: calc(1.8rem - 8px); }
.article-card p { color: var(--muted); }
.article-card + .article-card { margin-top: 1rem; }
.blog-topics { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; }
.blog-topics a { padding: .5rem .75rem; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); color: var(--muted); font-size: calc(.86rem + 2px); font-weight: 700; transition: background .2s ease, color .2s ease; }
.blog-topics a:hover { background: var(--button-dark-bg); color: var(--button-dark-text); }
.price-page { width: min(1040px, calc(100% - 40px)); margin: 0 auto; }
.price-intro { max-width: 700px; margin-bottom: 2rem; }
.price-filter { display: flex; gap: .55rem; flex-wrap: wrap; position: sticky; top: 126px; z-index: 20; padding: .8rem; margin-bottom: 2rem; background: rgba(251,250,246,.92); border: 1px solid var(--line); border-radius: 15px; backdrop-filter: blur(10px); }
.price-filter__button { padding: .58rem .85rem; border: 1px solid #d6e0d8; border-radius: 999px; background: var(--white); color: #506159; font: 700 calc(.84rem + 4px)/1.2 Inter, sans-serif; cursor: pointer; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.price-filter__button:hover, .price-filter__button.is-active { background: var(--ink); border-color: var(--ink); color: var(--white); }
.price-section { margin: 3.5rem 0; scroll-margin-top: 170px; }
.price-section[hidden] { display: none; }
.price-section__header { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 1rem; margin-bottom: 1rem; }
.price-section__header .eyebrow { grid-column: 1 / -1; margin-bottom: -.2rem; }
.price-section__header h2 { font-size: clamp(1.4rem, calc(3.4vw - 8px), 2.3rem); }
.price-section__count { color: var(--muted); font-size: calc(.84rem + 2px); font-weight: 720; }
.price-list { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: var(--white); box-shadow: 0 12px 35px rgba(54,73,62,.05); }
.price-list__head, .price-row { display: grid; grid-template-columns: 1fr 126px 120px; gap: 1rem; align-items: center; }
.price-list__head { padding: .75rem 1.3rem; background: #e9f0ea; color: #5e7167; font-size: calc(.8rem + 2px); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.price-subsection { margin: 0; padding: .82rem 1.3rem; border-bottom: 1px solid var(--line); background: #dceadd; color: #385443; font-size: calc(.88rem + 2px); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.price-subsection--muted { background: #eef0ed; color: #617066; }
.price-row { padding: 1.05rem 1.3rem; border-bottom: 1px solid var(--line); transition: background .2s ease; }
.price-row:hover { background: #fafcf9; }
.price-row:last-child { border-bottom: 0; }
.price-row__title { font-size: calc(1rem + 2px); font-weight: 750; }
.price-row__note { display: block; color: var(--muted); font-size: calc(.9rem + 2px); font-weight: 400; }
.price-row__notice { margin: 0; padding: .9rem 1.3rem; border-bottom: 1px solid var(--line); background: #fafaf8; color: var(--muted); font-size: calc(.88rem + 2px); font-style: italic; line-height: 1.5; }
.price-row__duration { color: var(--muted); font-size: calc(.9rem + 2px); }
.price-row__value { color: #956252; font-weight: 750; white-space: nowrap; text-align: right; }
.contact-page-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.info-card { padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.info-card h2 { margin-bottom: .7rem; font-size: calc(1.9rem - 8px); }
.info-card p { margin: .2rem 0; color: var(--muted); }
.map { margin-top: 1.2rem; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.map__frame { display: block; width: 100%; height: 440px; border: 0; background: var(--map-bg); }
.map__footer { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; padding: 1.5rem; }
.map__footer .eyebrow { margin-bottom: .55rem; }
.map__footer h2 { font-size: clamp(1.2rem, calc(3vw - 8px), 1.9rem); }
.map__footer p:not(.eyebrow) { max-width: 54ch; margin: .7rem 0 0; color: var(--muted); }
.pagination { display: flex; gap: .4rem; margin-top: 2rem; }
.pagination .page-numbers { display: grid; place-items: center; min-width: 38px; height: 38px; border-radius: 50%; background: var(--white); border: 1px solid var(--line); font-size: calc(.9rem + 2px); }
.pagination .current { background: var(--ink); color: var(--white); border-color: var(--ink); }
@media (max-width: 900px) {
	.site-navigation { display: none; position: absolute; top: 100px; right: 20px; left: 20px; padding: 1rem; background: var(--white); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
	.site-navigation.is-open { display: block; }
	.site-navigation ul { display: grid; gap: .3rem; }
	.site-navigation a { display: block; padding: .65rem; }
	.menu-toggle { display: block; }
	.header-cta { display: none; }
	.hero-grid, .split-story, .contact-grid { grid-template-columns: 1fr; }
	.hero-art { min-height: 360px; width: min(510px, 100%); justify-self: center; }
	.team-grid { grid-template-columns: repeat(3, 1fr); }
	.service-grid, .archive-grid { grid-template-columns: repeat(2, 1fr); }
	.archive-grid--doctors { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
	.container { width: min(100% - 30px, 1160px); }
	.section { padding: 4.2rem 0; }
	.section-heading { display: block; }
	.section-heading h2 { margin-bottom: 1rem; }
	.hero { padding-top: 3.8rem; }
	.hero-art { min-height: 310px; }
	.hero-note { right: 8%; width: 180px; }
	.service-grid, .archive-grid, .team-grid, .quote-grid, .contact-page-grid { grid-template-columns: 1fr; }
	.team-grid { gap: 2rem; }
	.doctor-card__image { min-height: 280px; }
	.archive-grid--doctors .doctor-card__image { min-height: 400px; }
	.callback-form { grid-template-columns: 1fr; }
	.footer-grid { grid-template-columns: 1fr 1fr; }
	.footer-grid > :first-child { grid-column: 1 / -1; }
	.footer-bottom { flex-direction: column; }
	.page-hero { padding: 4rem 0 3rem; }
	.price-page { width: min(100% - 30px, 1040px); }
	.price-filter { position: static; }
	.price-list__head { display: none; }
	.price-list__head, .price-row { grid-template-columns: 1fr auto; }
	.price-row { gap: .45rem 1rem; }
	.price-row__duration { grid-column: 1; font-size: calc(.75rem + 2px); }
	.price-row__value { grid-column: 2; grid-row: 1 / span 2; }
}

/* Visitor controls and colour themes. */
:root {
	--header-bg: rgba(245, 243, 240, .94);
	--nav-link: #514d48;
	--surface: #faf9f7;
	--surface-subtle: #e4e1dd;
	--input-bg: #fdfbf8;
	--inverse-bg: #2c1708;
	--inverse-text: #ffffff;
	--button-dark-bg: #2c1708;
	--button-dark-text: #ffffff;
	--button-light-bg: rgba(250, 249, 247, .78);
	--button-light-text: #2c1708;
	--button-light-border: rgba(44, 23, 8, .16);
	--accent: #866043;
	--accent-strong: #69482f;
	--hero-bg: linear-gradient(120deg, #f3f1ee 0%, #ded8d0 55%, #b99d80 100%);
	--hero-art-bg: #bdbab5;
	--hero-art-fill: linear-gradient(145deg, #f7f4ef 3%, #b99d80 55%, #5b4634 100%);
	--story-bg: linear-gradient(155deg, #d4d1cc, #b99d80);
	--story-shape: #e1ded9;
	--map-bg: repeating-linear-gradient(45deg, #dedad5, #dedad5 12px, #ebe7e2 12px, #ebe7e2 24px);
}

html[data-theme="dark"] {
	color-scheme: dark;
	--ink: #f7f1eb;
	--muted: #cbc6be;
	--paper: #292520;
	--mist: #37332f;
	--sand: #433a32;
	--line: #625c55;
	--white: #332d27;
	--header-bg: rgba(41, 37, 32, .94);
	--nav-link: #eee8e1;
	--surface: #332d27;
	--surface-subtle: #4a423a;
	--input-bg: #292520;
	--inverse-bg: #1d1916;
	--inverse-text: #fff8f0;
	--button-dark-bg: #c7a782;
	--button-dark-text: #2c2119;
	--button-light-bg: #443b33;
	--button-light-text: #fff8f0;
	--button-light-border: #806e5d;
	--accent: #d0ad87;
	--accent-strong: #d0ad87;
	--hero-bg: linear-gradient(120deg, #292520 0%, #403830 54%, #715b47 100%);
	--hero-art-bg: #4b4742;
	--hero-art-fill: linear-gradient(145deg, #5b4c40 3%, #98785d 59%, #2c2119 100%);
	--story-bg: linear-gradient(155deg, #514b45, #80664d);
	--story-shape: #403932;
	--map-bg: repeating-linear-gradient(45deg, #39332d, #39332d 12px, #2e2924 12px, #2e2924 24px);
}

.site-header { background: var(--header-bg); }
.site-navigation a { color: var(--nav-link); }
.screen-reader-text:focus { background: var(--surface); color: var(--ink); }
.header-controls { display: flex; align-items: center; gap: .5rem; }
.language-switcher { display: inline-flex; align-items: center; gap: .22rem; color: var(--muted); font-size: calc(.78rem + 2px); font-weight: 800; letter-spacing: .06em; }
.language-switcher a { padding: .25rem; border-radius: .35rem; transition: color .2s ease, background .2s ease; }
.language-switcher a[aria-current="true"] { background: var(--surface-subtle); color: var(--ink); }
.theme-toggle { display: inline-grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); color: var(--ink); cursor: pointer; transition: transform .2s ease, background .2s ease; }
.theme-toggle:hover { transform: translateY(-2px); background: var(--surface-subtle); }
.theme-toggle__icon { font-size: 1rem; line-height: 1; }
.button--dark { background: var(--button-dark-bg); color: var(--button-dark-text); }
.button--dark:hover { background: var(--button-dark-bg); filter: brightness(.92); }
.button--light { background: var(--button-light-bg); color: var(--button-light-text); border-color: var(--button-light-border); }
.button--light:hover { background: var(--button-light-bg); filter: brightness(1.08); }
.hero { background: var(--hero-bg); }
.hero-copy > p:not(.eyebrow) { color: var(--muted); }
.hero-art { background: var(--hero-art-bg); }
.hero-art::before { background: var(--hero-art-fill); }
.hero-note { background: var(--surface); color: var(--muted); }
.hero-note strong { color: var(--ink); }
.service-card, .quote, .info-card, .article-card, .price-list { background: var(--surface); }
.service-card__shape { background: var(--surface-subtle); }
.service-card:nth-child(2) .service-card__shape, .service-card:nth-child(5) .service-card__shape { background: #dec8b2; }
.service-card:nth-child(3) .service-card__shape, .service-card:nth-child(6) .service-card__shape { background: #d8d4cf; }
html[data-theme="dark"] .service-card:nth-child(2) .service-card__shape, html[data-theme="dark"] .service-card:nth-child(5) .service-card__shape { background: #594539; }
html[data-theme="dark"] .service-card:nth-child(3) .service-card__shape, html[data-theme="dark"] .service-card:nth-child(6) .service-card__shape { background: #49443f; }
.story-art { background: var(--story-bg); }
.story-art::after { background: var(--story-shape); }
.story-list div { color: var(--ink); }
.story-list b { background: var(--surface-subtle); color: var(--ink); }
.doctor-card__image { background: linear-gradient(140deg, #d8d4cf 0%, #ebe8e3 50%, #bfa083 100%); }
html[data-theme="dark"] .doctor-card__image { background: linear-gradient(140deg, #4d4842 0%, #3d3935 50%, #654a39 100%); }
html[data-theme="dark"] .doctor-card:nth-child(2n) .doctor-card__image { background: linear-gradient(140deg, #60483d, #4b4742); }
.contact-section { background: var(--inverse-bg); color: var(--inverse-text); }
.callback-form { background: var(--surface); color: var(--ink); }
.callback-form label { color: var(--muted); }
.callback-form input[type="text"], .callback-form input[type="tel"], .callback-form select { background: var(--input-bg); border-color: var(--line); color: var(--ink); }
.callback-form .consent { color: var(--muted); }
.form-message { color: #573818; background: #f0dfca; }
html[data-theme="dark"] .form-message { color: #ffe9cf; background: #5a391b; }
.site-footer { background: var(--inverse-bg); color: #ded8d0; }
.page-hero { background: var(--mist); }
.page-hero p, .entry-content, .article-card p, .info-card p, .price-row__duration, .price-row__note { color: var(--muted); }
.entry-content h2, .entry-content h3 { color: var(--ink); }
.price-filter { background: color-mix(in srgb, var(--paper) 92%, transparent); }
.price-filter__button { background: var(--surface); color: var(--muted); border-color: var(--line); }
.price-filter__button:hover, .price-filter__button.is-active { background: var(--button-dark-bg); color: var(--button-dark-text); border-color: var(--button-dark-bg); }
.price-list__head { background: var(--surface-subtle); color: var(--muted); }
.price-subsection { background: #d3e4d4; color: #385443; }
.price-subsection--muted, .price-row__notice { background: var(--surface-subtle); color: var(--muted); }
.price-row:hover { background: color-mix(in srgb, var(--surface) 86%, var(--paper)); }
.map { color: var(--ink); }

@media (max-width: 900px) {
	.site-navigation { background: var(--surface); }
}

@media (max-width: 600px) {
	.header-row { gap: .6rem; }
	.header-controls { gap: .25rem; }
	.language-switcher { font-size: calc(.68rem + 2px); }
}

/* Official clinic logo. */
.brand { gap: 0; flex-direction: row; align-items: center; }
.brand__logo { display: block; width: clamp(200px, 21vw, 280px); height: auto; max-width: 100%; object-fit: contain; }
.site-header .brand { min-width: 200px; }
.site-footer .brand { width: fit-content; padding: 0; border: 0; border-radius: 0; background: transparent; }
.site-footer .brand__logo { width: min(280px, 100%); }

.site-navigation a:hover, .site-navigation .current-menu-item > a,
.eyebrow, .service-card__number, .meta-line, .price-row__value,
.entry-content a { color: var(--accent); }
.brand__mark { border-color: #c3bdb6; color: var(--brand-slate); }
.hero::before { border-color: rgba(104, 95, 85, .36); }
.hero-art { box-shadow: 0 30px 60px rgba(44, 23, 8, .18); }
.hero-note { color: var(--muted); }
.service-card__arrow { border-color: #c4bdb5; color: var(--brand-slate); }
.service-card:nth-child(2) .service-card__shape, .service-card:nth-child(5) .service-card__shape { background: #dec8b2; }
.service-card:nth-child(3) .service-card__shape, .service-card:nth-child(6) .service-card__shape { background: #d8d4cf; }
.story-list div { color: var(--ink); }
.story-list b { background: #dcd8d3; color: var(--brand-slate); }
.doctor-card__image { background: linear-gradient(140deg, #d8d4cf 0%, #ebe8e3 50%, #bfa083 100%); }
.doctor-card:nth-child(2n) .doctor-card__image { background: linear-gradient(140deg, #e5cfb8, #d5d1cb); }
.quote--accent .quote__author, .contact-details { color: #e1dbd4; }
.contact-section .eyebrow { color: var(--brand-gold); }
.callback-form label, .callback-form .consent { color: var(--muted); }
.callback-form input[type="text"], .callback-form input[type="tel"], .callback-form select { border-color: var(--line); outline-color: var(--brand-bronze); }
.form-message { color: #573818; background: #f8e7d2; }
.site-footer { color: #e6ded7; }
.site-footer .brand__mark { color: var(--brand-slate); border-color: #c3bdb6; }
.footer-bottom { color: #c9c2ba; }
.entry-content { color: var(--muted); }
.price-filter__button { color: var(--muted); border-color: var(--line); }
.price-list { box-shadow: 0 12px 35px rgba(44, 23, 8, .08); }
.price-list__head { background: var(--surface-subtle); color: var(--muted); }

html[data-theme="dark"] .service-card:nth-child(2) .service-card__shape,
html[data-theme="dark"] .service-card:nth-child(5) .service-card__shape { background: #594539; }
html[data-theme="dark"] .service-card:nth-child(3) .service-card__shape,
html[data-theme="dark"] .service-card:nth-child(6) .service-card__shape { background: #49443f; }
html[data-theme="dark"] .doctor-card__image { background: linear-gradient(140deg, #514b45 0%, #413c37 50%, #765438 100%); }
html[data-theme="dark"] .doctor-card:nth-child(2n) .doctor-card__image { background: linear-gradient(140deg, #654835, #4d4842); }
html[data-theme="dark"] .form-message { color: #ffe9cf; background: #5a391b; }

@media (max-width: 600px) {
	.site-header .brand { min-width: 0; }
	.brand__logo { width: 160px; }
	.map__frame { height: 340px; }
	.map__footer { display: grid; align-items: start; }
}

/* Navigation and action refinements. */
.site-navigation a {
	position: relative;
	display: inline-block;
	padding: .55rem 0;
	transition: color .25s ease, transform .25s ease;
}

.site-navigation a::after {
	content: "";
	position: absolute;
	bottom: .2rem;
	left: 0;
	width: 100%;
	height: 1px;
	background: currentColor;
	opacity: .75;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform .3s cubic-bezier(.22, 1, .36, 1);
}

.site-navigation a:hover,
.site-navigation a:focus-visible {
	transform: translateY(-1px);
}

.site-navigation a:hover::after,
.site-navigation a:focus-visible::after,
.site-navigation .current-menu-item > a::after {
	transform: scaleX(1);
	transform-origin: left;
}

.button {
	border-color: transparent;
	background-size: 180% 100%;
	box-shadow: 0 7px 18px rgba(44, 23, 8, .14);
	transition: transform .25s ease, box-shadow .25s ease, background-position .35s ease, filter .25s ease;
}

.button--dark {
	background-image: linear-gradient(115deg, var(--button-dark-bg) 0%, var(--button-dark-bg) 52%, color-mix(in srgb, var(--button-dark-bg) 77%, #fff) 100%);
}

.button--light {
	background-image: linear-gradient(115deg, var(--button-light-bg) 0%, var(--button-light-bg) 52%, color-mix(in srgb, var(--button-light-bg) 82%, #fff) 100%);
}

.button:hover,
.button:focus-visible {
	transform: translateY(-3px);
	background-position: 100% 0;
	box-shadow: 0 12px 24px rgba(44, 23, 8, .2);
	filter: none;
}

.button:focus-visible,
.site-navigation a:focus-visible,
.menu-toggle:focus-visible,
.theme-toggle:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--accent) 70%, transparent);
	outline-offset: 3px;
}

@media (max-width: 900px) {
	.site-navigation {
		display: block;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		transform: translateY(-.8rem) scale(.98);
		transform-origin: top right;
		transition: opacity .24s ease, transform .32s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .32s;
	}

	.site-navigation.is-open {
		visibility: visible;
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0) scale(1);
		transition-delay: 0s;
	}

	.site-navigation ul { gap: .1rem; }
	.site-navigation li { opacity: 0; transform: translateX(-.55rem); transition: opacity .2s ease, transform .28s ease; }
	.site-navigation.is-open li { opacity: 1; transform: translateX(0); }
	.site-navigation.is-open li:nth-child(1) { transition-delay: .04s; }
	.site-navigation.is-open li:nth-child(2) { transition-delay: .08s; }
	.site-navigation.is-open li:nth-child(3) { transition-delay: .12s; }
	.site-navigation.is-open li:nth-child(4) { transition-delay: .16s; }
	.site-navigation.is-open li:nth-child(5) { transition-delay: .20s; }
	.site-navigation.is-open li:nth-child(6) { transition-delay: .24s; }
	.site-navigation.is-open li:nth-child(7) { transition-delay: .28s; }

	.site-navigation a { padding: .72rem .65rem; }
	.site-navigation a::after { right: .65rem; left: .65rem; width: auto; }

	.menu-toggle {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border: 1px solid var(--line);
		border-radius: 50%;
		background: var(--surface);
		transition: transform .25s ease, background .25s ease;
	}

	.menu-toggle:hover { transform: translateY(-2px); background: var(--surface-subtle); }
	.menu-toggle span:not(.screen-reader-text) { width: 18px; margin: 2.5px; transition: transform .28s ease, opacity .2s ease; }
	.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
	.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
	.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }
}

@media (prefers-reduced-motion: reduce) {
	.site-navigation,
	.site-navigation li,
	.site-navigation a,
	.site-navigation a::after,
	.button,
	.menu-toggle,
	.menu-toggle span:not(.screen-reader-text) { transition: none; }
}

/* Refined page and price-list interactions. */
@view-transition { navigation: auto; }

.price-filter__button {
	position: relative;
	overflow: hidden;
	box-shadow: 0 2px 0 rgba(44, 23, 8, .05);
	transition: transform .22s ease, box-shadow .22s ease, color .22s ease, background .22s ease, border-color .22s ease;
}

.price-filter__button::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(112deg, transparent 35%, rgba(255, 255, 255, .4) 50%, transparent 65%);
	transform: translateX(-120%);
	transition: transform .45s cubic-bezier(.22, 1, .36, 1);
	pointer-events: none;
}

.price-filter__button:hover,
.price-filter__button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 7px 15px rgba(44, 23, 8, .14);
}

.price-filter__button:hover::after,
.price-filter__button:focus-visible::after {
	transform: translateX(120%);
}

.price-filter__button.is-active {
	animation: price-filter-select .36s cubic-bezier(.22, 1, .36, 1);
}

.price-row {
	transition: background .22s ease, transform .22s ease;
}

.price-row:hover {
	transform: translateX(4px);
}

.price-section.is-filter-entering {
	animation: price-section-enter .38s cubic-bezier(.22, 1, .36, 1) both;
}

@keyframes price-filter-select {
	50% { transform: translateY(-2px) scale(1.035); }
}

@keyframes price-section-enter {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: no-preference) {
	::view-transition-old(root) { animation: page-transition-out .18s ease both; }
	::view-transition-new(root) { animation: page-transition-in .34s cubic-bezier(.22, 1, .36, 1) both; }

	html.page-transition-fallback .site-shell { animation: page-transition-in .34s cubic-bezier(.22, 1, .36, 1) both; }
	html.page-transition-fallback body.is-page-leaving .site-shell { pointer-events: none; animation: page-transition-out .18s ease both; }

	html.has-scroll-reveals .reveal-on-scroll { opacity: 0; transform: translateY(18px); transition: opacity .54s ease, transform .54s cubic-bezier(.22, 1, .36, 1); }
	html.has-scroll-reveals .reveal-on-scroll.is-revealed { opacity: 1; transform: translateY(0); }
}

@keyframes page-transition-in {
	from { opacity: 0; transform: translateY(10px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes page-transition-out {
	from { opacity: 1; transform: translateY(0); }
	to { opacity: 0; transform: translateY(-7px); }
}

@media (prefers-reduced-motion: reduce) {
	::view-transition-old(root),
	::view-transition-new(root),
	.price-filter__button.is-active,
	.price-section.is-filter-entering { animation: none; }

	.price-filter__button,
	.price-filter__button::after,
	.price-row { transition: none; }
}

/* Requested editorial refinements. */
.button--bronze {
	background-color: var(--brand-bronze-rich);
	background-image: linear-gradient(115deg, var(--brand-bronze-deep) 0%, var(--brand-bronze-rich) 52%, var(--brand-bronze-light) 100%);
	color: var(--inverse-text);
}

.button--bronze:hover {
	background-color: var(--brand-bronze-deep);
	background-image: linear-gradient(115deg, #623e1d 0%, var(--brand-bronze-deep) 55%, var(--brand-bronze-rich) 100%);
	color: var(--inverse-text);
}

.post-type-archive-clinic_doctor .page-hero p:not(.eyebrow) {
	font-size: calc(1.06rem + 5px);
}

.post-type-archive-clinic_event .page-hero .eyebrow {
	font-size: calc(.81rem + 4px);
}

.post-type-archive-clinic_event .page-hero p:not(.eyebrow),
.page-template-template-contacts .page-hero p:not(.eyebrow) {
	font-size: calc(1rem + 2px);
}

.page-template-template-contacts .page-hero h1 {
	font-size: clamp(2.1rem, calc(6.2vw - 12px), 4.75rem);
}

.price-filter__button,
.blog-topics a {
	background-color: var(--surface);
	background-image: none;
	border-color: var(--line);
	color: var(--ink);
}

.price-filter__button:hover,
.price-filter__button:focus-visible,
.price-filter__button.is-active,
.blog-topics a:hover,
.blog-topics a:focus-visible,
.blog-topics a.is-active {
	background-color: var(--brand-cocoa);
	background-image: none;
	border-color: var(--brand-cocoa);
	color: #fff;
}

.blog-topics a {
	font-size: calc(.86rem + 2px);
}

.price-filter__button {
	font-size: calc(.84rem + 2px);
}

.price-section:is([data-price-section="injections"], [data-price-section="body"], [data-price-section="lasers-ipl"], [data-price-section="epilation"]) .price-subsection:not(.price-subsection--muted) {
	background: var(--brand-bronze);
	border-color: var(--brand-bronze);
	color: var(--inverse-text);
}

.price-section[data-price-section="injections"] .price-subsection:not(.price-subsection--muted) {
	font-size: calc(.88rem + 4px);
}

.price-section[data-price-section="injections"] .price-row__notice {
	font-size: calc(.88rem + 4px);
	font-style: italic;
}
