/* ===== Frau Klinik — единое меню (fx-) ===== */
.fx-util{background:#2a1535;color:#e6dcec;font-size:12px}
.fx-util-in{display:flex;align-items:center;gap:24px;min-height:36px}
.fx-util p{margin:0;letter-spacing:.02em;white-space:nowrap}
.fx-util nav{display:flex;gap:20px;margin-left:auto;align-items:center}
.fx-util nav a,.fx-util nav span{color:#e6dcec;white-space:nowrap}
.fx-util nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fx-util .fx-u-promo{color:#f3d9ff;font-weight:600}
.fx-util em{font-style:normal;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#bda9c8;border-left:1px solid #4d3459;padding-left:16px;white-space:nowrap}

.fx-header{z-index:40}
.fx-header .head{height:86px;gap:20px;position:static}
.fx-header .logo{flex:none}
.fx-nav{margin-left:auto}
.fx-nav>ul{display:flex;align-items:center;gap:2px;list-style:none;margin:0;padding:0}
.fx-top{display:inline-flex;align-items:center;gap:5px;height:42px;padding:0 13px;border:0;background:none;font:inherit;font-size:13.5px;font-weight:500;color:var(--text);border-radius:999px;cursor:pointer;white-space:nowrap;text-decoration:none}
.fx-top svg{width:14px;height:14px;transition:transform .2s}
.fx-top:hover,.fx-top[aria-expanded=true]{background:var(--lav);color:var(--purple)}
.fx-top[aria-expanded=true] svg{transform:rotate(180deg)}
.fx-top[aria-current=page],.fx-li.is-cur>.fx-top{color:var(--purple);box-shadow:inset 0 -2px 0 var(--purple);border-radius:0}
.fx-top:focus-visible{outline:2px solid var(--purple);outline-offset:2px}
.fx-promo{color:var(--purple);font-weight:600}
.fx-promo i{font-style:normal;font-size:10px;font-weight:700;background:var(--purple);color:#fff;border-radius:999px;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 5px}
[data-theme=dark] .fx-promo i{color:#2a1034}
.fx-actions{display:flex;align-items:center;gap:10px;flex:none}
.fx-ico{width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:none;color:var(--text);cursor:pointer}
.fx-ico svg{width:19px;height:19px}
.fx-ico:hover{border-color:var(--purple);color:var(--purple)}
.fx-tel,.fx-burger{display:none!important}
.fx-header .head-phone{display:block}

/* mega */
.fx-mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 40px 60px -40px rgba(42,21,53,.45);padding:34px 0 38px;animation:fxIn .18s ease-out}
.fx-mega[hidden]{display:none}
@keyframes fxIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fx-mega-in{display:grid;gap:40px}
.fx-4{grid-template-columns:1fr 1fr 1fr 1.25fr}
.fx-3{grid-template-columns:1.1fr 1.4fr 1fr}
.fx-doc{grid-template-columns:minmax(0,1.35fr) 1fr 1fr}
.fx-mh{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-size:23px;line-height:1.1;color:var(--text);margin:0 0 14px}
a.fx-mh:hover{color:var(--purple)}
.fx-mh svg{width:16px;height:16px;color:var(--purple)}
.fx-col ul{list-style:none;margin:0;padding:0}
.fx-col li a{display:flex;gap:6px;align-items:baseline;padding:7px 0;font-size:14px;color:var(--muted);border-bottom:1px solid transparent}
.fx-col li a:hover{color:var(--purple)}
.fx-col li a i,.fx-links a i,.fx-f-cols a i{font-style:normal;font-size:11px;opacity:.6}
.fx-rich li a{display:block;padding:9px 0;border-bottom:1px solid var(--line)}
.fx-rich b{display:block;color:var(--text);font-size:14.5px;font-weight:600}
.fx-rich small{display:block;font-size:12px;color:var(--muted);margin-top:2px}
.fx-rich li a:hover b{color:var(--purple)}
.fx-two{columns:2;column-gap:28px}
.fx-two li{break-inside:avoid}
.fx-specs li a{justify-content:space-between;border-bottom:1px solid var(--line);color:var(--text)}
.fx-specs i{font-style:normal;font-size:11px;font-weight:700;background:var(--lav);color:var(--purple);border-radius:999px;padding:2px 8px}
.fx-side{background:var(--lav);padding:24px;border-radius:2px}
.fx-tasks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.fx-task{display:flex;align-items:flex-end;min-height:58px;padding:10px 12px;color:#fff;font-size:13px;font-weight:600;border-radius:2px;transition:transform .15s}
.fx-task:hover{transform:translateY(-2px)}
.fx-search label{display:flex;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);padding:0 12px;height:46px}
.fx-search label:focus-within{border-color:var(--purple)}
.fx-search svg{width:18px;height:18px;color:var(--muted);flex:none}
.fx-search input{border:0;background:none;font:inherit;font-size:14px;width:100%;height:100%;color:var(--text);outline:none}
.fx-all{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:13.5px;font-weight:600;color:var(--purple)}
.fx-all svg{width:16px;height:16px;transition:transform .2s}
.fx-all:hover svg{transform:translateX(3px)}
.fx-founder{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:end;background:linear-gradient(140deg,#2a1535,#5d2873);color:#fff;padding:18px;border-radius:2px}
.fx-founder img{width:150px;height:180px;object-fit:cover;object-position:50% 15%;display:block;border-radius:0}
.fx-founder small{display:block;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:#d9c6e8;margin-bottom:8px}
.fx-founder b{display:block;font-family:var(--serif);font-weight:500;font-size:25px;line-height:1.05}
.fx-founder em{display:block;font-style:normal;font-size:12.5px;line-height:1.45;color:#e6dcec;margin-top:10px}
.fx-founder:hover b{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.fx-hours{font-size:13px;color:var(--muted);margin:14px 0 0;line-height:1.6}
.fx-hours a{color:var(--text);font-weight:600}
.fx-kids{font-size:12px;color:#8a3fb0;margin:10px 0 0}

/* gradient tokens (без зависимости от catalog.css) */
.fx-header .g1,.fx-drawer .g1{background:linear-gradient(140deg,#43204f,#620087)}
.fx-header .g2,.fx-drawer .g2{background:linear-gradient(140deg,#620087,#9446bd)}
.fx-header .g3,.fx-drawer .g3{background:linear-gradient(140deg,#8a3fb0,#c792dc)}
.fx-header .g4,.fx-drawer .g4{background:linear-gradient(140deg,#e2d1ee,#f6eff9);color:#3b1d47}
.fx-header .g5,.fx-drawer .g5{background:linear-gradient(140deg,#5d2873,#b0679f)}
.fx-header .g6,.fx-drawer .g6{background:linear-gradient(140deg,#2a1535,#5d2873)}
.fx-header .g7,.fx-drawer .g7{background:linear-gradient(140deg,#cfaee0,#f1e6f6);color:#3b1d47}
.fx-header .g8,.fx-drawer .g8{background:linear-gradient(140deg,#7a3a99,#d2b0e4)}

/* дополнительное меню: популярные услуги */
.fx-pop{background:var(--paper);border-bottom:1px solid var(--line)}
.fx-pop-in{display:flex;align-items:center;gap:16px;min-height:48px}
.fx-pop-in>span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);flex:none}
.fx-pop-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:8px 0;align-items:center}
.fx-pop-row::-webkit-scrollbar{display:none}
.fx-pop-row a{flex:none;display:inline-flex;align-items:center;gap:7px;font-size:12.5px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text);white-space:nowrap}
.fx-pop-row a::before{content:"";width:7px;height:7px;border-radius:50%;background:#620087}
.fx-pop-row a.c1::before{background:#9446bd}.fx-pop-row a.c2::before{background:#c792dc}.fx-pop-row a.c3::before{background:#b0679f}.fx-pop-row a.c4::before{background:#5d2873}.fx-pop-row a.c5::before{background:#d2b0e4}
.fx-pop-row a:hover,.fx-pop-row a[aria-current=page]{border-color:var(--purple);color:var(--purple);background:var(--lav)}
.fx-pop-row a.fx-pop-all{border:0;color:var(--purple);font-weight:600}
.fx-pop-row a.fx-pop-all::before{display:none}
.fx-pop-all svg{width:15px;height:15px}

/* мобильное меню */
.fx-drawer{position:fixed;inset:0;z-index:200;background:var(--bg);overflow-y:auto;overscroll-behavior:contain;animation:fxSlide .22s ease-out}
.fx-drawer[hidden]{display:none}
@keyframes fxSlide{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
.fx-d-in{max-width:560px;margin:0 auto;padding:0 18px 40px}
.fx-d-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;height:66px;background:var(--bg);border-bottom:1px solid var(--line);margin:0 -18px 16px;padding:0 18px}
.fx-d-top .logo img{width:132px;height:auto}
.fx-close{width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--text);cursor:pointer}
.fx-close svg{width:20px;height:20px}
.fx-dsearch{display:flex;gap:8px;margin-bottom:14px}
.fx-dsearch label{flex:1;height:50px}
.fx-dsearch button{border:0;background:var(--purple);color:#fff;font:inherit;font-weight:600;font-size:14px;padding:0 18px;cursor:pointer}
[data-theme=dark] .fx-dsearch button{color:#2a1034}
.fx-quick{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fx-q{display:flex;flex-direction:column;justify-content:flex-end;min-height:92px;padding:14px;color:#fff;border:0;text-align:left;font:inherit;cursor:pointer;border-radius:2px}
.fx-q b{font-family:var(--serif);font-weight:500;font-size:25px;line-height:1}
.fx-q small{font-size:12px;opacity:.85;margin-top:5px}
.fx-dlabel{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:22px 0 10px}
.fx-dtasks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.fx-dtasks a{display:flex;align-items:flex-end;min-height:52px;padding:8px 10px;color:#fff;font-size:13px;font-weight:600;border-radius:2px}
.fx-acc{border-bottom:1px solid var(--line)}
.fx-acc summary{list-style:none;display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:10px;padding:16px 0;cursor:pointer}
.fx-acc summary::-webkit-details-marker{display:none}
.fx-acc summary span{font-family:var(--serif);font-size:27px;line-height:1.05}
.fx-acc summary small{grid-column:1;font-size:12px;color:var(--muted);margin-top:3px}
.fx-acc summary svg{grid-row:1/3;grid-column:2;width:22px;height:22px;color:var(--purple);transition:transform .2s}
.fx-acc[open] summary svg{transform:rotate(180deg)}
.fx-acc-b{padding:0 0 18px}
.fx-dgrp{margin-bottom:14px}
.fx-dgrp>b{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--purple);margin-bottom:6px}
.fx-dgrp>b a{color:inherit}
.fx-dgrp>div{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.fx-dgrp>div a{padding:9px 0;font-size:14px;border-bottom:1px solid var(--line);color:var(--text)}
.fx-chips{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 4px}
.fx-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;background:var(--lav);border-radius:999px;font-size:13px;color:var(--text)}
.fx-chip i{font-style:normal;font-size:11px;font-weight:700;color:var(--purple)}
.fx-links{display:grid}
.fx-links a{padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--text)}
.fx-drawer .fx-founder{grid-template-columns:110px 1fr;gap:14px;padding:14px}
.fx-drawer .fx-founder img{width:110px;height:132px}
.fx-drawer .fx-founder b{font-size:21px}
.fx-dfoot{margin-top:22px}
.fx-dtel{display:flex;align-items:center;gap:10px;height:52px;padding:0 16px;border:1px solid var(--line);background:var(--paper);font-weight:600;margin-bottom:8px;color:var(--text)}
.fx-dtel svg{width:18px;height:18px;color:var(--purple)}
.fx-dfoot p{font-size:13px;color:var(--muted);margin:6px 0 14px}
.fx-dclin{list-style:none;margin:0 0 16px;padding:0}
.fx-dclin li{display:grid;grid-template-columns:14px 1fr;column-gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.fx-dclin i{width:10px;height:10px;border-radius:50%;margin-top:5px;grid-row:1/3}
.fx-dclin .m0{background:#ffcd1c}.fx-dclin .m1{background:#ff8103}.fx-dclin .m2{background:#ef161e}
.fx-dclin b{font-size:14px}.fx-dclin small{font-size:12px;color:var(--muted)}
.fx-dtheme{border:1px solid var(--line);background:none;color:var(--text);font:inherit;font-size:13px;padding:10px 16px;cursor:pointer}
body.fx-lock{overflow:hidden}

/* подвал */
.fx-foot .fx-f-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr);gap:56px;padding-bottom:36px;border-bottom:1px solid rgba(255,255,255,.14)}
.fx-f-brand{font-family:var(--serif);font-size:38px;color:#fff;line-height:1;display:block}
.fx-f-brand span{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.18em;text-transform:uppercase;margin-top:8px;color:#d9c6e8}
.fx-foot .fx-f-top>div>p{color:#d8cbe0;font-size:13.5px;line-height:1.6;margin:18px 0}
.fx-f-tel{display:grid;gap:6px;font-size:14px}
.fx-f-tel a{color:#fff;font-weight:600}
.fx-f-tel span{color:#bda9c8;font-size:12.5px}
.fx-f-book{margin-top:18px;background:#fff!important;color:#43204f!important;border-color:#fff!important}
.fx-f-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.fx-f-cols h3{font-family:var(--sans);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#d9c6e8;font-weight:600;margin:0 0 12px}
.fx-f-cols ul{list-style:none;margin:0;padding:0}
.fx-f-cols li{margin:0 0 8px}
.fx-f-cols a{color:#f1e9f3;font-size:13.5px}
.fx-f-cols a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.fx-f-adr li{display:grid;margin-bottom:12px}
.fx-f-adr b{color:#fff;font-size:14px}
.fx-f-adr span{color:#cbbbd3;font-size:12.5px}
.fx-f-kids{color:#f3d9ff;font-size:13px;margin:22px 0 0}

@media (max-width:1320px){.fx-util p{display:none}.fx-top{padding:0 10px;font-size:13px}.fx-header .head-phone{display:none}}
@media (max-width:1100px){.fx-header .theme{display:none}.fx-util nav span{display:none}.fx-4{grid-template-columns:1fr 1fr 1fr}.fx-side{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;gap:10px 24px}.fx-side .fx-mh{grid-column:1/-1}.fx-side .fx-tasks{grid-row:span 3}}
@media (max-width:960px){
 .fx-util nav{display:none}.fx-util-in{justify-content:center;min-height:28px}.fx-util em{border:0;padding:0}
 .fx-nav,.fx-find,.fx-book{display:none!important}
 .fx-tel,.fx-burger{display:inline-flex!important}
 .fx-header .head{height:70px;gap:10px}
 .fx-header .logo img{width:128px;height:auto}
 .fx-actions{margin-left:auto;gap:8px}
 .fx-burger{align-items:center;gap:8px;height:44px;padding:0 16px 0 13px;border:0;border-radius:999px;background:var(--purple);color:#fff;font:inherit;font-size:13px;font-weight:600;cursor:pointer;width:auto}
 [data-theme=dark] .fx-burger{color:#2a1034}
 .fx-burger svg{width:19px;height:19px}
 .fx-pop-in{gap:0;min-height:0}.fx-pop-in>span{display:none}
 .fx-pop-row{padding:10px 18px;margin:0 -18px}
 .fx-pop-row a{border:0;color:#fff;font-weight:600;padding:8px 13px;background:linear-gradient(140deg,#43204f,#620087)}
 .fx-pop-row a::before{background:rgba(255,255,255,.7)!important}
 .fx-pop-row a.c1{background:linear-gradient(140deg,#620087,#9446bd)}.fx-pop-row a.c2{background:linear-gradient(140deg,#8a3fb0,#c792dc)}
 .fx-pop-row a.c3{background:linear-gradient(140deg,#5d2873,#b0679f)}.fx-pop-row a.c4{background:linear-gradient(140deg,#2a1535,#5d2873)}
 .fx-pop-row a.c5{background:linear-gradient(140deg,#7a3a99,#d2b0e4)}
 .fx-pop-row a.fx-pop-all{background:var(--lav);color:var(--purple)}
 .fx-foot .fx-f-top{grid-template-columns:1fr;gap:32px}
 .fx-f-cols{grid-template-columns:1fr 1fr}
}
@media (max-width:340px){.fx-burger span{display:none}.fx-burger{padding:0;width:44px;justify-content:center}.fx-util em{font-size:9px}}
@media (prefers-reduced-motion:reduce){.fx-mega,.fx-drawer{animation:none}}
.fx-acc summary::after,.fx-acc summary::before{display:none!important;content:none!important}
.fx-mega .fx-founder{grid-template-columns:190px 1fr;align-items:center;padding:20px}
.fx-mega .fx-founder img{width:190px;height:230px}
/* fade hint for scrollable popular row */
.fx-pop-row{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 48px),transparent);padding-right:40px}
