/* Finishing pass for the clinic's October review. */
.team-initials {display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:#e8e3d8;color:var(--gold-ink);font:400 80px/1 var(--serif);letter-spacing:-.04em;}
.home-initials {height:400px;aspect-ratio:auto;}
.team-card-staff .team-initials {aspect-ratio:1;font-size:56px;}
.team-card-staff .team-photo img {object-position:50% 10%;}
#szakemberek .doctor-card>a:first-child img,#szakemberek .doctor-card>.doctor-photo img {object-position:50% 10%;}
#elonyok .benefits-more {border-top:1px solid #cbb579;}
#elonyok .benefits-short {border-bottom-color:#cbb579;}
.reviews-strip {align-items:center;}
.reviews-strip>div:first-child {text-align:center;}
.review-info .review-count {font:500 24px/1.4 var(--serif);display:block;color:var(--navy);margin:14px 0 4px;}
.profile-refs {counter-reset:ref;}
.profile-refs>li:not(.publication-subheading) {counter-increment:ref;display:grid;grid-template-columns:32px minmax(0,1fr);gap:18px;padding:22px 0;align-items:start;}
.profile-refs>li:not(.publication-subheading)::before {content:counter(ref,decimal-leading-zero);font:500 11px/1.8 var(--sans);color:var(--gold-ink);}
.profile-refs>li>span {min-width:0;font:400 15px/1.8 var(--sans);}
.profile-refs .publication-link {display:block;max-width:100%;overflow-wrap:anywhere;margin-top:9px;font:400 12px/1.7 var(--sans);text-decoration:underline;text-underline-offset:3px;}
.profile-refs>li.publication-subheading {display:block;font:500 24px/1.3 var(--serif);padding:22px 0 12px;}
.profile-refs>li.publication-subheading::before {content:none;}
.profile-timeline li:has(.profile-years:empty) {grid-template-columns:1fr;}
.profile-timeline .profile-years:empty {display:none;}
.profile-chips li {display:flex;gap:9px;align-items:center;line-height:1.6;}
.language-flag {font-size:20px;}
/* Cookie consent (cookie-consent.js), after the clinic's reference: logo band, full-width tabs, a column per
   category, three equal choices. A compact card at the bottom that leaves the page usable. */
.cookie-banner {position:fixed;inset:auto 0 16px;z-index:60;box-sizing:border-box;width:min(800px,calc(100% - 32px));max-height:calc(100dvh - 32px);margin:0 auto;padding:0;flex-direction:column;border:1px solid #cbb579;background:#f7f5ef;color:var(--navy);box-shadow:0 22px 70px #10182d38;overflow:hidden;}
.cookie-banner[open] {display:flex;}
.cookie-brand {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 28px;background:#fcfbf9;}
.cookie-brand img {display:block;height:26px;width:auto;}
.cookie-brand span {font:600 10px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);}
.cookie-tabs {display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #ddd6c8;background:#fcfbf9;}
.cookie-tabs button {padding:13px 8px 11px;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;background:none;color:#6a7084;font:500 13px/1 'Montserrat',var(--sans);cursor:pointer;transition:color .15s;}
.cookie-tabs button+button {border-left:1px solid #ece6da;}
.cookie-tabs button:hover {color:var(--navy);}
.cookie-tabs button[aria-selected=true] {color:var(--navy);border-bottom-color:#cbaf6a;}
.cookie-tabs button:focus-visible {outline:2px solid var(--navy);outline-offset:-4px;}
.cookie-body {overflow:auto;padding:16px 28px 0;}
.cookie-banner h2 {margin:0 0 6px;font:400 24px/1.15 var(--serif);color:var(--navy);}
.cookie-banner p {margin:0 0 12px;font:400 13px/1.6 var(--sans);color:#3f4659;}
.cookie-banner a {color:inherit;text-decoration:underline;text-decoration-color:#cbaf6a;text-underline-offset:3px;}
.cookie-switches {display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:14px -28px 0;border-top:1px solid #ddd6c8;background:#fcfbf9;}
.cookie-switch {position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:11px 16px 13px;text-align:center;cursor:pointer;}
.cookie-switch+.cookie-switch {border-left:1px solid #ddd6c8;}
.cookie-switch:has(input:disabled) {cursor:default;}
.cookie-switch strong {font:600 13px/1.3 var(--sans);color:var(--navy);}
.cookie-switch small {font:400 11.5px/1.4 var(--sans);color:#6a7084;}
.cookie-switch input {position:absolute;width:1px;height:1px;margin:0;opacity:0;}
.cookie-switch i {position:relative;flex:none;width:42px;height:22px;margin-top:6px;border-radius:11px;background:var(--navy);transition:background .2s;}
.cookie-switch i::after {content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #10182d40;transition:transform .2s;}
.cookie-switch input:checked+i {background:#cbaf6a;}
.cookie-switch input:checked+i::after {transform:translateX(20px);}
.cookie-switch input:disabled+i {opacity:.55;}
.cookie-switch input:focus-visible+i {outline:2px solid var(--navy);outline-offset:3px;}
.cookie-detail {padding:2px 0 14px;}
.cookie-detail+.cookie-detail {padding-top:14px;border-top:1px solid #ddd6c8;}
.cookie-detail-head {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px;}
.cookie-banner h3 {margin:0;font:600 13px/1.4 var(--sans);color:var(--navy);}
.cookie-state {padding:4px 8px;border:1px solid #d8d2c4;font:600 10px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:#6a7084;white-space:nowrap;}
.cookie-state.is-on {border-color:#cbaf6a;background:#f3ead2;color:var(--gold-ink);}
.cookie-table {width:100%;table-layout:fixed;border-collapse:collapse;font:400 12px/1.5 var(--sans);color:#3f4659;}
.cookie-table th:nth-child(1) {width:27%;}
.cookie-table th:nth-child(2) {width:31%;}
.cookie-table th:nth-child(3) {width:22%;}
.cookie-table th {padding:7px 10px;background:#ece7dc;text-align:left;font:600 10px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--navy);}
.cookie-table td {padding:8px 10px;border-bottom:1px solid #e4ded1;vertical-align:top;background:#fcfbf9;}
.cookie-table code {font-size:11px;color:var(--navy);overflow-wrap:anywhere;}
.cookie-faq {display:grid;grid-template-columns:1fr 1fr;gap:4px 28px;}
.cookie-faq h3 {margin-bottom:3px;}
.cookie-actions {display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 28px 16px;border-top:1px solid #ddd6c8;}
.cookie-actions button {min-height:44px;padding:11px 14px;border:1px solid var(--navy);background:transparent;color:var(--navy);font:500 13px/1.2 'Montserrat',var(--sans);cursor:pointer;transition:background .15s,border-color .15s;}
.cookie-actions button:hover {background:#ebe6da;}
.cookie-actions [data-choice=all] {border-color:#cbaf6a;background:#cbaf6a;}
.cookie-actions [data-choice=all]:hover {border-color:#bd9f57;background:#bd9f57;}
.cookie-actions button:focus-visible {outline:2px solid var(--navy);outline-offset:2px;}
.embed-consent button {border:1px solid #202c50;background:transparent;color:#202c50;padding:11px 14px;cursor:pointer;}
@media(max-width:640px) {.cookie-banner{inset:auto 10px 10px;width:auto;max-height:calc(100dvh - 20px);}.cookie-brand{display:none;}.cookie-tabs button{padding:14px 4px 12px;font-size:12.5px;}.cookie-body{padding:16px 18px 0;}.cookie-banner h2{font-size:21px;}.cookie-banner p{font-size:12.5px;}.cookie-switches{grid-template-columns:1fr 1fr;margin:14px -18px 0;}.cookie-switch{padding:12px 8px 14px;}.cookie-switch small{display:none;}.cookie-faq{grid-template-columns:1fr;}.cookie-table thead{display:none;}.cookie-table{table-layout:auto;}.cookie-table tr,.cookie-table td{display:block;}.cookie-table td{border:0;padding:4px 10px;}.cookie-table tr{padding:6px 0;border:1px solid #e4ded1;background:#fcfbf9;}.cookie-table td::before{content:attr(data-label);display:block;font:600 9.5px/1.4 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);}.cookie-actions{grid-template-columns:1fr 1fr;gap:8px;padding:12px 18px 16px;}.cookie-actions [data-choice=all]{grid-column:1/-1;}}
.cookie-footer {background:none;border:0;padding:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer;}
.embed-consent {padding:28px;background:#eeeae1;text-align:center;}
.embed-consent[hidden],iframe[hidden] {display:none!important;}
@media(max-width:650px) {.reviews-strip{display:flex;flex-direction:column;gap:28px;text-align:center;}.review-info .review-count{font-size:26px;}.profile-refs>li:not(.publication-subheading){gap:10px;grid-template-columns:25px minmax(0,1fr);}}
.profile-refs .reference-body {min-width:0;font:400 15px/1.8 var(--sans);color:#464b5b;}
.profile-refs .reference-body>span {display:inline;}
/* Larger type after the clinic's homepage review: the gold labels everywhere, the small texts of the homepage. */
.eyebrow,.label {font-size:12px!important;}
.team-tag,.team-page .team-card p.team-tag {font-size:11px;}
.care-intro {max-width:390px;font-size:19px;line-height:1.65;color:#f0ece2;}
.gallery-heading p {font-size:17px;line-height:1.7;}
#elonyok .benefits-overview-heading h2 {font-size:46px;}
#elonyok .benefits-short h3 {font-size:30px;}
#elonyok .benefits-short p {max-width:360px;font-size:16px;line-height:1.7;}
#elonyok .benefits-full-list h3 {font-size:28px;}
#elonyok .benefits-full-list p {font-size:16px;line-height:1.7;}
#elonyok .benefits-full-list .benefit-number {font-size:12px;}
.reviews-strip .eyebrow,.reviews-strip .label {font-size:13px!important;}
.review-info .review-count {font-size:28px;}
.review-info p,.review-info .text-link {font-size:16px;}
.corporate-photo img {object-position:50% 42%;}
@media(max-width:760px) {.eyebrow,.label {font-size:11px!important;}.care-intro {font-size:17px;}.gallery-heading p {font-size:16px;}#elonyok .benefits-overview-heading h2 {font-size:38px;}#elonyok .benefits-short h3 {font-size:27px;}#elonyok .benefits-short p,#elonyok .benefits-full-list p {font-size:15px;}#elonyok .benefits-full-list h3 {font-size:26px;}.reviews-strip .eyebrow,.reviews-strip .label {font-size:12px!important;}}
/* The directory's intro after the clinic's review; long weekly hours fold behind a button. */
.team-hero-grid .team-lead {margin-top:26px;max-width:440px;}
.team-quote {margin:0;padding-left:22px;max-width:500px;border-left:2px solid #cbaf6a;font:400 25px/1.45 var(--serif);color:var(--navy);}
.hours-more summary {display:flex;align-items:center;gap:6px;margin-top:8px;font:500 12px/1.4 var(--sans);color:var(--gold-ink);cursor:pointer;list-style:none;}
.hours-more summary::-webkit-details-marker {display:none;}
.hours-more summary::after {content:"⌄";transition:transform .2s;}
.hours-more[open] summary::after {transform:rotate(180deg);}
.hours-more summary:focus-visible {outline:2px solid var(--navy);outline-offset:2px;}
@media(max-width:760px) {.team-hero-grid .team-lead {margin-top:18px;}.team-quote {padding-left:16px;font-size:19px;}}
.back-to-top {position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:1px solid var(--gold);border-radius:2px;background:var(--navy);color:#f7f5ef;box-shadow:0 10px 30px #10182d2e;cursor:pointer;transition:background .2s,transform .2s;}
.back-to-top[hidden] {display:none;}
.back-to-top:hover {background:var(--deep);transform:translateY(-2px);}
.back-to-top:focus-visible {outline:2px solid var(--gold);outline-offset:3px;}
.back-to-top svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
@media(max-width:760px) {.back-to-top {right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:44px;height:44px;}body.smc-mobile-booking-space .back-to-top {bottom:calc(var(--smc-mobile-booking-height,76px) + 12px);}}
@media(prefers-reduced-motion:reduce) {.back-to-top {transition:none;}.back-to-top:hover {transform:none;}}
/* Newsletter sign-up: a light card at the top of the footer, apart from the dark footer below it. */
footer.site-footer { padding-top:0; }
/* the card band overlaps the footer's top edge by a pixel, so no dark hairline shows at fractional positions */
.newsletter { position:relative; margin-top:-1px; padding:17px 0 64px; background:var(--paper); }
.site-footer .newsletter + .footer-grid { padding-top:64px; }
.newsletter-card { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr); gap:44px; align-items:center; padding:30px 36px; background:#fdfcf9; border:1px solid #cbaf6a; }
.site-footer .newsletter-eyebrow { margin:0; font:600 10px/1 var(--sans); letter-spacing:.18em; text-transform:uppercase; color:#8a6d2c; }
.newsletter-copy h2 { margin:10px 0 10px; font:400 25px/1.2 var(--serif); color:var(--navy); letter-spacing:-.01em; }
.site-footer .newsletter-copy p:not(.newsletter-eyebrow) { margin:0; font-size:13px; line-height:1.7; color:var(--muted); }
.newsletter-fields { display:grid; grid-template-columns:1fr 1fr 1.4fr auto; gap:12px; align-items:end; }
.newsletter-fields label { display:flex; flex-direction:column; gap:6px; font-size:12px; color:var(--navy); }
.newsletter-fields input { height:44px; padding:0 12px; border:1px solid #d8d3c8; border-radius:2px; background:#fff; color:var(--navy); font:400 14px/1 var(--sans); }
.newsletter-fields input:focus { outline:2px solid #cbaf6a; outline-offset:1px; border-color:transparent; }
.newsletter-fields button { height:44px; padding:0 24px; border:1px solid var(--navy); border-radius:2px; background:var(--navy); color:#f7f5ef; font:600 13px/1 var(--sans); letter-spacing:.04em; cursor:pointer; white-space:nowrap; transition:background .2s; }
.newsletter-fields button:hover { background:var(--deep); }
.newsletter-fields button:disabled { opacity:.6; cursor:progress; }
.newsletter-check { display:flex; gap:10px; margin-top:12px; font-size:11.5px; line-height:1.55; color:var(--muted); cursor:pointer; }
.newsletter-check + .newsletter-check { margin-top:6px; }
.newsletter-check input { flex-shrink:0; width:15px; height:15px; margin:1px 0 0; accent-color:var(--navy); }
.newsletter-check a { color:var(--navy); text-decoration:underline; text-underline-offset:2px; }
.newsletter-trap { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.site-footer .newsletter-status { margin:10px 0 0; font-size:13px; color:var(--navy); }
.newsletter-status:empty { display:none; }
.site-footer .newsletter-status[data-kind="ok"] { color:#2f6b45; font-weight:600; }
.site-footer .newsletter-status[data-kind="error"] { color:#a33a2a; }
@media(max-width:1050px) { .newsletter-card { grid-template-columns:1fr; gap:22px; } }
@media(max-width:700px) { .newsletter { padding:8px 0 44px; } .newsletter-card { padding:24px 20px; } .newsletter-fields { grid-template-columns:1fr; } .newsletter-copy h2 { font-size:23px; } .site-footer .newsletter + .footer-grid { padding-top:48px; } }
