/* =====================================================================
   Тонус — витрина. Токены и компоненты по дизайн-прототипам design2/.
   Тёплая «ламповая» палитра, Golos Text, 4px-сетка, radius 8/12.
   ===================================================================== */

:root{
  --orange-50:#FBF0E4;--orange-100:#F5E0C8;--orange-200:#EAC49D;--orange-300:#DCA26B;
  --orange-400:#CB8148;--orange-500:#B96A3B;--orange-600:#9F5527;--orange-700:#82441E;--orange-800:#663519;
  --navy-50:#F4EFE7;--navy-100:#E5DACB;--navy-200:#C9B6A0;--navy-300:#9C8067;--navy-400:#6E5140;
  --navy-500:#4E382C;--navy-600:#3F2D23;--navy-700:#33231A;--navy-800:#271A13;--navy-900:#1C120D;
  --gray-25:#FCFAF6;--gray-50:#F8F3EB;--gray-100:#F1E9DD;--gray-200:#E7DBCB;--gray-300:#D8C9B3;
  --gray-400:#BCA98F;--gray-500:#94826C;--gray-600:#79695A;--gray-700:#5A4C3D;--gray-800:#3E3329;
  --yellow-300:#F0C875;--yellow-400:#E2AC4E;--yellow-500:#CF9838;
  --green-50:#EAF3EB;--green-100:#CFE5D3;--green-500:#47895A;--green-600:#376F47;
  --blue-50:#ECF0EE;--blue-100:#D5E0DC;--blue-400:#5E8172;--blue-500:#4C7263;--blue-600:#3C5D50;
  --red-50:#F9E9E4;--red-100:#F2D0C6;--red-500:#C05A3A;--red-600:#A34426;
  --paper:#FFFDF8;
  --border-subtle:var(--gray-200);--border-default:var(--gray-300);
  --font-sans:'Golos Text',system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(0.22,0.61,0.36,1);
  --shadow-card:0 10px 24px rgba(51,35,26,0.14);
  --shadow-modal:0 24px 64px rgba(28,18,13,0.4);
}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--gray-50);font-family:var(--font-sans);color:var(--navy-600);
  font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--orange-600);text-decoration:none}
a:hover{color:var(--orange-700)}
img{max-width:100%}
.num{font-variant-numeric:tabular-nums}
.container{max-width:1280px;margin:0 auto;padding-left:20px;padding-right:20px}
.page{min-height:100vh;display:flex;flex-direction:column}
.main{width:100%;flex:1;padding-top:18px;padding-bottom:32px}
.only-desktop{display:inline}

@keyframes tFade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes tPulse{0%,100%{opacity:1}50%{opacity:.35}}

/* --- шапка ----------------------------------------------------------- */
.topbar{background:var(--navy-800);color:rgba(250,243,232,.75);font-size:12.5px}
.topbar__in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:7px;padding-bottom:7px}
.header{background:var(--paper);border-bottom:1px solid var(--border-subtle)}
.header__in{display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.logo{display:flex;align-items:baseline;gap:7px;white-space:nowrap;color:inherit}
.logo__word{font-size:26px;font-weight:900;color:var(--navy-700);letter-spacing:-0.02em}
.logo__badge{background:var(--orange-500);color:#FFF7ED;font-size:12px;font-weight:800;
  padding:3px 8px;border-radius:6px;letter-spacing:.05em}
.logo__tagline{font-size:12px;color:var(--gray-600);margin-left:4px}
.header__search{flex:1 1 220px;min-width:180px}
.header__search input{width:100%;height:40px;padding:0 14px;border:1.5px solid var(--border-default);
  border-radius:8px;font:inherit;font-size:14px;color:var(--navy-700);background:var(--gray-25);outline:none}
.header__search input:focus{border-color:var(--orange-500)}
.header__status{text-align:right;white-space:nowrap}
.header__online{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--navy-700)}
.header__sub{font-size:11.5px;color:var(--gray-600)}
.subnav{background:var(--paper);border-bottom:1px solid var(--border-subtle)}
.subnav__in{display:flex;gap:18px;flex-wrap:wrap;align-items:center;font-size:13px;font-weight:600;
  padding-top:9px;padding-bottom:9px}
.subnav__label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-600)}
.subnav b{color:var(--navy-700)}

.dot{width:8px;height:8px;border-radius:50%;background:var(--green-500);display:inline-block;flex:0 0 auto}
.dot--pulse{animation:tPulse 2s infinite}
.dot--gray{background:var(--gray-400)}

/* --- кнопки, чипы, бейджи -------------------------------------------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;padding:0 18px;
  border-radius:8px;border:none;font:inherit;font-size:14px;font-weight:700;cursor:pointer;
  white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease)}
.btn--sm{height:32px;padding:0 13px;font-size:12.5px}
.btn--primary{background:var(--orange-500);color:#FFF7ED}
.btn--primary:hover{background:var(--orange-600);color:#FFF7ED}
.btn--success{background:var(--green-500);color:#fff}
.btn--success:hover{background:var(--green-600);color:#fff}
.btn--secondary{background:var(--orange-100);color:var(--orange-800)}
.btn--secondary:hover{background:var(--orange-200);color:var(--orange-800)}
.btn--ghost{background:transparent;color:var(--orange-700);border:1.5px solid var(--orange-300)}
.btn--ghost:hover{background:var(--orange-50);color:var(--orange-700)}
.btn--outline{background:transparent;color:var(--gray-600);border:1.5px solid var(--border-default)}
.btn--outline:hover{border-color:var(--navy-400);color:var(--navy-700)}
.btn--flat{background:var(--gray-100);color:var(--navy-600)}
.btn--flat:hover{background:var(--gray-200);color:var(--navy-700)}
.btn--dark{background:transparent;color:rgba(250,243,232,.75)}
.btn--dark:hover{color:#FAF3E8}

.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 11px;border:1.5px solid var(--border-default);
  border-radius:999px;background:var(--paper);color:var(--navy-600);font:inherit;font-size:12.5px;
  font-weight:500;line-height:1.2;cursor:pointer;white-space:nowrap}
.chip:hover{border-color:var(--orange-400);color:var(--orange-700)}
.chip--on{border-color:var(--orange-500);background:var(--orange-50);color:var(--orange-700);font-weight:700}
.chip--flat{border:none;background:var(--gray-100);color:var(--navy-600);cursor:default}
.chip--brand{border:none;background:var(--orange-50);color:var(--orange-700);font-weight:600}
.chip__x{margin-left:2px;background:var(--orange-100);color:var(--orange-700);width:18px;height:18px;
  border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px}
.chips{display:flex;flex-wrap:wrap;gap:6px}

.badge{display:inline-block;font-size:10.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;
  padding:3px 8px;border-radius:4px;line-height:1.2}
.badge--hit{background:var(--yellow-400);color:var(--navy-800)}
.badge--sale{background:var(--red-500);color:#fff}
.badge--brand{background:var(--orange-500);color:#FFF7ED}
.badge--new{background:var(--green-500);color:#fff}
.badge--info{background:var(--blue-50);color:var(--blue-600)}

.iconbtn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border-default);
  background:rgba(255,253,248,.94);color:var(--gray-500);font-size:15px;line-height:1;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;font-family:inherit}
.iconbtn--on{color:var(--red-500)}
.iconbtn--note{border-color:var(--yellow-400);background:#FFF6D6;color:var(--navy-600)}
.pillbtn{padding:4px 9px;border-radius:999px;font-size:11px;font-weight:700;font-family:inherit;cursor:pointer;
  border:1px solid var(--border-default);background:rgba(255,253,248,.94);color:var(--gray-600)}

.rating{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--gray-600)}
.rating--md{font-size:13px}
.rating__stars{font-size:13px;letter-spacing:1px;background:linear-gradient(90deg,var(--yellow-500) var(--val,100%),var(--gray-300) var(--val,100%));
  -webkit-background-clip:text;background-clip:text;color:transparent}
.rating--md .rating__stars{font-size:15px}
.rating b{color:var(--navy-700)}

.price{font-weight:800;font-size:18px;color:var(--navy-700)}
.price--old{font-size:12.5px;color:var(--gray-500);text-decoration:line-through}

.h1{margin:0 0 6px;font-size:26px;font-weight:800;color:var(--navy-700);letter-spacing:-0.01em}
.h2{margin:0 0 4px;font-size:17px;font-weight:800;color:var(--navy-700)}
.h2--block{margin:18px 0 12px}
.intro{margin:0 0 18px;font-size:14px;color:var(--gray-600);max-width:720px}
.hint{margin:4px 0 10px;font-size:12.5px;color:var(--gray-600)}
.crumbs{font-size:12.5px;color:var(--gray-600);margin-bottom:12px}
.crumbs span{color:var(--navy-700);font-weight:600}

/* --- промо ------------------------------------------------------------ */
.promo{background:linear-gradient(105deg,var(--navy-800),var(--navy-500));border-radius:12px;
  padding:20px 24px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.promo__main{flex:1 1 300px;min-width:0}
.promo__badge{display:inline-block;background:var(--yellow-400);color:var(--navy-800);font-size:11px;
  font-weight:800;letter-spacing:.06em;padding:4px 10px;border-radius:4px;text-transform:uppercase}
.promo__title{color:#FAF3E8;font-size:22px;font-weight:800;margin:8px 0 4px}
.promo__sub{color:var(--navy-100);font-size:13.5px;margin-bottom:12px}
.promo__quiz{flex:0 1 300px;background:var(--paper);border-radius:10px;padding:16px 18px}
.promo__quiz-title{font-size:15px;font-weight:800;color:var(--navy-700)}
.promo__quiz-sub{font-size:12.5px;color:var(--gray-600);margin:4px 0 10px}

/* --- каталог ----------------------------------------------------------- */
.catalog{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}
.rail{flex:1 1 238px;max-width:100%;background:var(--paper);border:1px solid var(--border-subtle);
  border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:16px}
.rail__group{display:flex;flex-direction:column;gap:2px}
.rail__label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gray-600);margin-bottom:6px}
.rail__row{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border-radius:8px;
  color:var(--navy-600);font-size:13.5px;font-weight:500}
.rail__row:hover{background:var(--gray-100);color:var(--navy-700)}
.rail__row--on{background:var(--orange-50);color:var(--orange-700);font-weight:700}
.rail__row--on:hover{background:var(--orange-50);color:var(--orange-700)}
.rail__row-main{min-width:0}
.rail__row-sub{display:block;font-size:11px;font-weight:500;color:var(--gray-600)}
.rail__row-n{margin-left:auto;font-size:11.5px;color:var(--gray-500)}
.results{flex:999 1 480px;min-width:0}

.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.toolbar__left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.toolbar__found{font-size:13.5px;color:var(--gray-600)}
.toolbar__found b{color:var(--navy-700)}
.toolbar__sort select{height:34px;padding:0 10px;border:1.5px solid var(--border-default);border-radius:8px;
  font:inherit;font-size:13px;color:var(--navy-700);background:var(--paper);cursor:pointer}

.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:14px}

.card{background:var(--paper);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;
  display:flex;flex-direction:column;transition:transform 160ms var(--ease),box-shadow 160ms var(--ease)}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-card)}
.card__photo{position:relative;height:148px;background:var(--gray-100)}
.card__badges{position:absolute;top:8px;left:8px;display:flex;gap:4px;flex-wrap:wrap;pointer-events:none}
.card__note{position:absolute;top:8px;right:44px}
.card__fav{position:absolute;top:8px;right:8px}
.card__hide{position:absolute;bottom:8px;right:8px}
.card__body{padding:12px 12px 14px;display:flex;flex-direction:column;gap:7px;flex:1}
.card__title{font-size:15px;font-weight:700;color:var(--navy-700);line-height:1.25}
.card__title:hover{color:var(--orange-600)}
.card__zone{font-size:12px;color:var(--gray-600);margin-top:-3px}
.card__loc{font-size:11.5px;font-weight:600;color:var(--blue-600)}
.card__loc a{color:var(--blue-600);text-decoration:underline;text-decoration-color:var(--blue-100);text-underline-offset:2px}
.card__loc a:hover{color:var(--orange-700)}
.pricegrid__cab .pricegrid__svc small a{color:var(--gray-600);text-decoration:underline;text-decoration-color:var(--gray-300)}
.pricegrid__cab .pricegrid__svc small a:hover{color:var(--orange-700)}
.mhead__sub a{color:var(--blue-600)}
.card__seen{display:flex;align-items:center;gap:5px;font-size:11.5px;color:var(--gray-600)}
.card__seen .dot{width:7px;height:7px}
.card__trust{font-size:11px;color:var(--green-600);font-weight:600}
.card__master{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:12.5px;font-weight:600}
.card__prog{font-size:12px;color:var(--gray-700);line-height:1.45;display:-webkit-box;
  -webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card__prog b{color:var(--navy-600)}
.card__durs{display:flex;flex-wrap:wrap;gap:4px}
.card__durs .chip--flat{font-size:11.5px;font-weight:600;padding:3px 8px;border-radius:6px}
.card__slots{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.card__slots .dot{width:7px;height:7px}
.slot{background:var(--green-50);color:var(--green-600);font-size:11px;font-weight:600;
  padding:3px 8px;border-radius:999px}
.card__price{margin-top:auto;display:flex;align-items:baseline;gap:6px;padding-top:4px}
.card__from{font-size:12px;color:var(--gray-600)}
.card__cta{display:flex;gap:4px}
.card__cta .btn{flex:1;min-width:0;padding:0 4px;font-size:11.5px}
.card__cta .btn--success{flex:1.8}
.card__noteview{background:#FFF6D6;border:1px solid var(--yellow-400);border-radius:8px;
  padding:7px 10px;font-size:12px;line-height:1.4;color:var(--navy-700);cursor:pointer}
.card--hidden{display:none}

.empty{background:var(--paper);border:1px dashed var(--border-default);border-radius:12px;
  padding:40px 20px;text-align:center}
.empty--page{margin:40px auto;max-width:480px}
.empty__title{font-size:16px;font-weight:700;color:var(--navy-700);margin-bottom:6px}
.empty__sub{font-size:13px;color:var(--gray-600);margin-bottom:14px}

.pager{display:flex;gap:6px;margin-top:18px;flex-wrap:wrap}
.pager__link,.pager__cur{min-width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;font-size:13px;font-weight:600}
.pager__link{border:1.5px solid var(--border-default);color:var(--navy-600);background:var(--paper)}
.pager__cur{background:var(--orange-500);color:#FFF7ED}

.seotext{background:var(--paper);border:1px solid var(--border-subtle);border-radius:12px;
  padding:20px 24px;margin-top:24px;font-size:13.5px;line-height:1.6;color:var(--navy-600)}
.seotext p{margin:0 0 10px}

/* --- страница мастера --------------------------------------------------- */
.mhead{background:var(--paper);border:1px solid var(--border-subtle);border-radius:12px;
  padding:16px 20px;display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.mhead__ava{width:64px;height:64px;flex:0 0 64px}
.mhead__main{flex:1 1 260px;min-width:0}
.mhead__name{margin:0 0 2px;font-size:22px;font-weight:800;color:var(--navy-700)}
.mhead__sub{font-size:13px;color:var(--gray-600)}
.mhead__trust{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.trust{background:var(--green-50);color:var(--green-600);font-size:11px;font-weight:700;
  padding:3px 9px;border-radius:999px}
.mhead__aside{text-align:right}
.mhead__answer{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:12px;
  color:var(--gray-600);margin-top:4px}

.mlayout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px 20px;align-items:start}
.mcol{min-width:0;display:flex;flex-direction:column;gap:16px}
.calc{position:sticky;top:12px}

.panel{background:var(--paper);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}
.panel--pad{padding:20px}
.panel--accent{background:linear-gradient(105deg,var(--orange-50),var(--paper));border-color:var(--orange-200)}
.panel__head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:4px;justify-content:flex-start}
.panel__head .rating{margin-left:auto}

.ph{background:var(--gray-100);color:var(--gray-500);font-size:12px;font-weight:600;display:flex;
  align-items:center;justify-content:center;text-align:center;width:100%;height:100%;min-height:40px;padding:6px}
.ph--hero{height:240px}
.ph--circle{border-radius:50%;aspect-ratio:1}
.ph--thumb{height:76px;border-radius:8px}
.mphotos{display:flex;gap:6px;padding:8px}
.mphotos .ph--thumb{flex:1}

.pricegrid-wrap{overflow-x:auto}
.pricegrid{border-collapse:separate;border-spacing:4px 2px;min-width:540px;width:100%}
.pricegrid th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gray-600);padding:6px 4px;text-align:center}
.pricegrid th.pricegrid__svc{text-align:left;padding-left:8px}
.pricegrid__svc{min-width:140px}
.pricegrid__cab .pricegrid__svc{padding:6px 8px;background:var(--gray-25);border-radius:8px 8px 0 0}
.pricegrid__cab .pricegrid__svc b{display:block;font-size:13.5px;color:var(--navy-700);line-height:1.25}
.pricegrid__cab .pricegrid__svc small{font-size:10.5px;color:var(--gray-600)}
.pricegrid__home .pricegrid__svc{padding:4px 8px;background:var(--blue-50);border-radius:0 0 8px 8px}
.pricegrid__homelbl{font-size:11px;font-weight:700;color:var(--blue-600)}
.pricegrid td{padding:0;vertical-align:stretch}
.cell{width:100%;height:100%;padding:8px 4px;border:1.5px solid var(--border-default);border-radius:8px;
  background:var(--paper);color:var(--navy-700);font-weight:700;font-size:13px;cursor:pointer;
  font-family:inherit;text-align:center;line-height:1.2}
.cell:hover{border-color:var(--orange-400)}
.cell--home{padding:5px 4px;border-color:var(--blue-100);background:var(--blue-50);
  color:var(--blue-600);font-weight:600;font-size:12px}
.cell--on,.cell--on:hover{border-color:var(--orange-500);background:var(--orange-50);
  color:var(--orange-700);font-weight:800}
.cell--none{text-align:center;color:var(--gray-400);background:var(--gray-25);border-radius:8px;
  font-size:13px;padding:8px 4px}
.pricegrid__home + .pricegrid__cab td{padding-top:10px}

.addons{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.addon{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;
  border:1.5px solid var(--orange-200);background:var(--paper);color:var(--navy-700);cursor:pointer;
  font-family:inherit;width:100%;text-align:left}
.addon--on{border-color:var(--orange-500);background:var(--orange-100);color:var(--orange-800)}
.addon__main{min-width:0}
.addon__name{display:block;font-size:13.5px;font-weight:700}
.addon__desc{display:block;font-size:11.5px;opacity:.8}
.addon__price{margin-left:auto;font-size:13.5px;font-weight:800;white-space:nowrap}

.about{margin:0 0 12px;font-size:14px;line-height:1.6;color:var(--navy-600)}
.contra{background:var(--red-50);border-radius:8px;padding:10px 14px;font-size:12.5px;
  line-height:1.5;color:var(--red-600)}

.review{border-top:1px solid var(--gray-100);padding:12px 0;display:flex;flex-direction:column;gap:5px}
.review__head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.review__ava{width:30px;height:30px;border-radius:50%;background:var(--orange-100);color:var(--orange-700);
  font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.review__head b{font-size:13.5px;color:var(--navy-700)}
.review__date{font-size:12px;color:var(--gray-500)}
.review__text{margin:0;font-size:13.5px;line-height:1.55;color:var(--navy-600)}

.calc__title{margin:0;font-size:15px;font-weight:800;color:var(--navy-700)}
.calc{display:flex;flex-direction:column;gap:12px;padding:18px}
.calc__group{display:flex;flex-direction:column}
.calc__total{border-top:1px solid var(--gray-100);padding-top:10px;display:flex;flex-direction:column;gap:5px}
.calc__row{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--gray-700)}
.calc__row b{font-weight:600;color:var(--navy-700);white-space:nowrap}
.calc__sum{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-top:6px}
.calc__sum span{font-size:13px;font-weight:700;color:var(--navy-700)}
.calc__note{margin:0;font-size:11.5px;color:var(--gray-500);text-align:center}

/* --- справочники метро/районов ------------------------------------------ */
.dirhead{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.dirsearch{flex:0 1 260px;min-width:180px;height:40px;padding:0 14px;border:1.5px solid var(--border-default);
  border-radius:8px;font:inherit;font-size:14px;color:var(--navy-700);background:var(--paper);outline:none}
.dirsearch:focus{border-color:var(--orange-500)}
.dirlist{display:flex;flex-direction:column;gap:14px;padding-bottom:60px}
.dirgroup{background:var(--paper);border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}
.dirgroup__head{padding:10px 16px;background:var(--gray-25);border:none;border-bottom:1px solid var(--gray-100);
  display:flex;align-items:center;gap:10px;cursor:pointer;width:100%;font-family:inherit;text-align:left}
.dirgroup__head b{font-size:13px;color:var(--navy-700)}
.dirgroup__meta{font-size:11.5px;color:var(--gray-500)}
.dirgroup__rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.dirrow{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--gray-100);
  cursor:pointer}
.dirrow--on{background:var(--orange-50)}
.dirrow--off{opacity:.55;cursor:default}
.dirrow__main{min-width:0;flex:1}
.dirrow__name{display:block;font-size:13.5px;font-weight:600;color:var(--navy-700)}
.dirrow--off .dirrow__name{color:var(--gray-500);pointer-events:none}
.dirrow__sub{display:block;font-size:11.5px;color:var(--gray-500)}
.dirrow__online{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:700;
  color:var(--green-600);white-space:nowrap}
.dirrow__online .dot{width:7px;height:7px}
.checkbox{flex:0 0 20px;width:20px;height:20px;border-radius:6px;border:1.5px solid var(--border-default);
  background:var(--paper);color:#FFF7ED;font-size:12px;font-weight:800;display:inline-flex;
  align-items:center;justify-content:center;line-height:1}
.checkbox--on{border-color:var(--orange-500);background:var(--orange-500)}
.checkbox--on::after{content:'✓'}
.linedot{width:12px;height:12px;border-radius:50%;background:var(--c,var(--gray-400));flex:0 0 auto}

.stickybar{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);background:var(--navy-800);
  border-radius:999px;padding:8px 10px 8px 20px;display:flex;align-items:center;gap:14px;
  box-shadow:0 12px 32px rgba(28,18,13,.35);z-index:60;animation:tFade 200ms var(--ease);
  max-width:calc(100vw - 32px);flex-wrap:wrap}
.stickybar__info{color:#FAF3E8;font-size:13px;font-weight:600;white-space:nowrap}
.stickybar .btn--primary{border-radius:999px}

/* --- подбор, карта -------------------------------------------------------- */
.podbor{display:flex;flex-direction:column;gap:16px;max-width:680px}
.podbor__foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;border-top:1px solid var(--gray-100);padding-top:14px}

.maplayout{display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}
.map{flex:999 1 420px;min-width:0;height:520px;border-radius:12px;border:1px solid var(--border-subtle);z-index:1}
.mapcards{flex:1 1 300px;max-width:100%;display:flex;flex-direction:column;gap:10px}
.dcard{display:flex;align-items:center;gap:12px;background:var(--paper);border:1.5px solid var(--border-subtle);
  border-radius:12px;padding:12px 14px;color:inherit;cursor:pointer;transition:transform 160ms var(--ease)}
.dcard:hover{transform:translateY(-2px)}
.dcard.on{border-color:var(--orange-500);background:var(--orange-50)}
.dcard__name{display:block;font-size:15px;font-weight:700;color:var(--navy-700)}
.dcard__sub{display:block;font-size:12px;color:var(--gray-600)}
.dcard__meta{display:block;font-size:12px;color:var(--green-600);font-weight:600;margin-top:2px}
.tonus-pin{background:transparent;border:none}
.tonus-pin span{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;
  border:1.5px solid var(--border-default);background:var(--paper);color:var(--navy-700);
  font:700 12.5px/1.2 var(--font-sans);white-space:nowrap;box-shadow:0 4px 12px rgba(51,35,26,.2)}
.tonus-pin.on span{border-color:var(--orange-500);background:var(--orange-50);color:var(--orange-700)}
.tonus-pin i{width:9px;height:9px;border-radius:50%;background:var(--green-500);font-style:normal}
.tonus-pin.on i{background:var(--orange-500)}

/* --- модалки, panic, toast ------------------------------------------------- */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.modal__scrim{position:absolute;inset:0;background:rgba(28,18,13,.45)}
.modal__box{position:relative;background:var(--paper);border-radius:12px;box-shadow:var(--shadow-modal);
  max-width:780px;width:100%;max-height:92vh;overflow:auto;padding:24px;animation:tFade 200ms var(--ease)}
.modal__box--sm{max-width:460px}
.modal__kicker{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--orange-600);margin-bottom:6px}
.modal__title{margin:0 0 14px;font-size:19px;font-weight:800;color:var(--navy-700)}
.modal__opts{display:flex;flex-direction:column;gap:8px}
.modal__opt{text-align:left;padding:11px 14px;border:1.5px solid var(--border-default);border-radius:8px;
  background:var(--paper);font:inherit;font-size:14px;font-weight:600;color:var(--navy-700);cursor:pointer}
.modal__opt:hover{border-color:var(--orange-500);background:var(--orange-50)}
.modal__foot{display:flex;justify-content:space-between;margin-top:14px}
.modal__foot .btn:last-child{margin-left:auto}

.panic{position:fixed;inset:0;z-index:300;background:var(--gray-50);display:flex;align-items:center;
  justify-content:center;padding:20px}
.panic__box{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.panic__title{font-size:15px;font-weight:700;color:var(--gray-600)}

.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--navy-800);
  color:#FAF3E8;font-size:13px;font-weight:600;padding:12px 20px;border-radius:10px;z-index:200;
  box-shadow:0 12px 32px rgba(28,18,13,.35);animation:tFade 200ms var(--ease);max-width:calc(100vw - 40px)}

/* --- нотация «жёлтый стикер» заметки --------------------------------------- */
.noteform{display:flex;flex-direction:column;gap:6px;background:#FFF6D6;border:1px solid var(--yellow-400);
  border-radius:8px;padding:8px}
.noteform textarea{border:none;background:transparent;font:inherit;font-size:12.5px;color:var(--navy-700);
  resize:vertical;min-height:40px;outline:none}
.noteform__btns{display:flex;gap:8px}
.noteform__save{border:none;background:var(--navy-700);color:#FAF3E8;font-size:11.5px;font-weight:700;
  padding:5px 12px;border-radius:6px;cursor:pointer;font-family:inherit}
.noteform__cancel{border:none;background:transparent;color:var(--gray-600);font-size:11.5px;
  cursor:pointer;font-family:inherit}

/* --- футер ------------------------------------------------------------------ */
.footer{background:var(--navy-800);color:rgba(250,243,232,.65);font-size:12.5px}
.footer__in{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px}
.footer__right{display:flex;gap:14px;flex-wrap:wrap}
.footer__right b{color:#FAF3E8;font-weight:700}
.footer__right a{color:rgba(250,243,232,.85)}
.footer__soon{color:rgba(250,243,232,.5)}

/* --- адаптив ------------------------------------------------------------------ */
@media (min-width:861px){
  #filterRail{position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;
    overscroll-behavior:contain;scrollbar-width:thin}
}
@media (max-width:860px){
  .only-desktop{display:none}
  .mlayout{display:flex;flex-direction:column}
  .calc{position:static;order:3}
  #s-photos{order:1}
  #s-price{order:2}
  #s-addons{order:4}
  #s-about{order:5}
  #s-reviews{order:6}
  .mcol{display:contents}
  .mlayout{gap:16px}
  .header__status{display:none}
  .mhead__aside{text-align:left}
}

/* --- бургер и мобильное меню ------------------------------------------------ */
.burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:40px;height:40px;
  border:1.5px solid var(--border-default);border-radius:8px;background:var(--paper);cursor:pointer;
  padding:0 9px;flex:0 0 40px}
.burger span{display:block;height:2px;border-radius:2px;background:var(--navy-700)}
.mobmenu{display:flex;flex-direction:column;gap:10px;padding:14px 20px 16px;border-top:1px solid var(--border-subtle);
  background:var(--paper)}
.mobmenu a{font-size:14.5px;font-weight:600;padding:4px 0}

/* --- нижний таб-бар (мобилка) ------------------------------------------------ */
.tabbar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--paper);
  border-top:1px solid var(--border-subtle);box-shadow:0 -6px 20px rgba(51,35,26,0.08);
  padding-bottom:env(safe-area-inset-bottom)}
.tabbar__item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;
  padding:8px 4px 7px;color:var(--gray-600);font-size:10.5px;font-weight:600}
.tabbar__item svg{width:22px;height:22px}
.tabbar__item.on{color:var(--orange-600)}
.tabbar__item:hover{color:var(--orange-600)}
.tabbar__badge{position:absolute;top:4px;left:calc(50% + 6px);background:var(--red-500);color:#fff;
  font-size:9.5px;font-weight:800;min-width:15px;height:15px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;padding:0 4px;font-style:normal}

/* --- кнопка и шторка фильтров (мобилка) ------------------------------------- */
.filtersbtn{display:none;align-items:center;gap:8px;width:100%;margin-bottom:12px;height:42px;
  border:1.5px solid var(--border-default);border-radius:10px;background:var(--paper);
  color:var(--navy-700);font:inherit;font-size:14px;font-weight:700;cursor:pointer;justify-content:center}
.filtersbtn svg{width:18px;height:18px}
.rail__mobilehead{display:none;align-items:center;justify-content:space-between;
  padding-bottom:10px;border-bottom:1px solid var(--gray-100);margin-bottom:4px}
.rail__mobilehead b{font-size:16px;color:var(--navy-700)}
.rail__close{width:32px;height:32px;border-radius:50%;border:none;background:var(--gray-100);
  color:var(--navy-700);font-size:14px;cursor:pointer;font-family:inherit}
.rail__apply{display:none}
.noscroll{overflow:hidden}

/* --- быстрый просмотр --------------------------------------------------------- */
.modal__box--qv{max-width:780px;padding:0;display:flex;flex-wrap:wrap;overflow:hidden}
.modal__x{position:absolute;top:10px;right:10px;z-index:2;width:30px;height:30px;border-radius:50%;
  border:none;background:var(--gray-100);color:var(--navy-700);cursor:pointer;font-size:14px;font-family:inherit}
.modal__x:hover{background:var(--gray-200)}
.qv__media{flex:1 1 280px;display:flex;flex-direction:column;background:var(--gray-100);min-height:280px}
.qv__photo{flex:1;min-height:210px}
.qv__gallery{display:flex;gap:6px;padding:6px;background:var(--paper)}
.qv__gallery .ph--thumb{flex:1;height:70px}
.qv__body{flex:1 1 340px;padding:22px;display:flex;flex-direction:column;gap:10px;min-width:0}
.card__badges--qv{position:static;display:flex;gap:4px;flex-wrap:wrap;pointer-events:auto}
.qv__title{margin:0;font-size:22px;font-weight:800;color:var(--navy-700);line-height:1.2}
.qv__full{font-size:12.5px;font-weight:600}
.qv__meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qv__desc{margin:0;font-size:13.5px;line-height:1.5;color:var(--navy-600)}
.qv__prog-item{font-size:13px;color:var(--navy-600);padding:3px 0;border-bottom:1px solid var(--gray-100)}
.qv__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;
  border-top:1px solid var(--gray-100);padding-top:12px;margin-top:auto}
.qv__cta{display:flex;gap:8px;flex-wrap:wrap}

/* --- мобильная раскладка -------------------------------------------------------- */
@media (max-width:860px){
  .burger{display:flex}
  .subnav{display:none}
  .only-desktop-flex{display:none!important}
  .logo__tagline{display:none}
  .header__in{gap:10px}
  body{padding-bottom:64px}
  .tabbar{display:flex}
  .stickybar{bottom:74px}
  .filtersbtn{display:flex}
  .rail{display:none}
  .rail.rail--open{display:flex;position:fixed;inset:0;z-index:150;border-radius:0;border:none;
    overflow:auto;padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
  .rail--open .rail__mobilehead{display:flex}
  .rail--open .rail__apply{display:inline-flex;position:sticky;bottom:0;margin-top:6px}
  .toolbar{gap:8px}
  .modal__box--qv{max-height:92vh;overflow:auto}
}
@media (min-width:861px){
  .mobmenu{display:none!important}
}

/* --- настраиваемые поля анкеты --------------------------------------------- */
.card__custom{font-size:11.5px;color:var(--gray-600)}
.card__custom b{color:var(--navy-700);font-weight:700}
.mhead__facts{font-size:13px;color:var(--gray-600);margin-top:7px}
.mhead__facts b{color:var(--navy-700)}

/* --- каталог услуг по категориям -------------------------------------------- */
.svcdir-block{margin-top:28px}
.svcdir-block__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.svcdir-block__all{font-size:13px;font-weight:700}
.svcdir{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.svcdir__card{background:var(--paper);border:1px solid var(--border-subtle);border-radius:12px;padding:16px 18px 8px}
.svcdir__title{margin:0 0 8px;font-size:16px;font-weight:800}
.svcdir__title a{color:var(--navy-700)}
.svcdir__title a:hover{color:var(--orange-600)}
.svcdir__row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;
  border-top:1px solid var(--gray-100);font-size:14px;font-weight:500;color:var(--navy-600)}
.svcdir__row:hover{color:var(--orange-700)}
.svcdir__row--empty{color:var(--gray-500)}
.svcdir__n{background:var(--orange-50);color:var(--orange-700);font-size:12px;font-weight:700;
  min-width:34px;padding:3px 8px;border-radius:6px;text-align:center}
.svcdir__row--empty .svcdir__n{background:var(--gray-100);color:var(--gray-500)}
.rail__row--sub{padding-left:22px;font-size:13px}
.rail__row--sub::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--gray-400);flex:0 0 auto}
.rail__row--sub.rail__row--on::before{background:var(--orange-500)}

/* --- фото на витрине ------------------------------------------------------- */
.card__img{width:100%;height:148px;object-fit:cover;display:block}
.card__ava{width:22px;height:22px;border-radius:50%;object-fit:cover}
.card__more{font-size:12px;font-weight:600;color:var(--orange-700)}
.mhead__img{width:64px;height:64px;border-radius:50%;object-fit:cover;display:block}
.mhero{display:block;height:320px;background:var(--gray-100)}
.mhero img{width:100%;height:100%;object-fit:cover;display:block}
.mthumb{flex:1;height:76px;border-radius:8px;overflow:hidden;border:2px solid transparent;display:block}
.mthumb--on{border-color:var(--orange-500)}
.mthumb img{width:100%;height:100%;object-fit:cover;display:block}
.qv__photo img{width:100%;height:100%;min-height:210px;object-fit:cover;display:block}
.qv__gallery img{flex:1;height:70px;border-radius:8px;object-fit:cover;min-width:0}
.pricegrid__cat td{padding:12px 8px 4px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--orange-700)}

/* --- форма отзыва ------------------------------------------------------------ */
.h3{margin:0 0 10px;font-size:15px;font-weight:800;color:var(--navy-700)}
.revform{border-top:1px solid var(--gray-100);margin-top:14px;padding-top:14px}
.revform__msg{background:var(--red-50);color:var(--red-600);border-radius:8px;padding:9px 12px;font-size:13px;font-weight:600;margin-bottom:10px}
.revform__msg--ok{background:var(--green-50);color:var(--green-600)}
.revform__hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.revform__row{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}
.revform__fld{display:flex;flex-direction:column;gap:4px;flex:1 1 220px;margin-bottom:10px;font-size:12.5px}
.revform__fld>span{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-600)}
.revform__fld input[type=text],.revform__fld textarea{font:inherit;font-size:13.5px;color:var(--navy-700);padding:8px 11px;
  border:1.5px solid var(--border-default);border-radius:8px;background:var(--gray-25);outline:none}
.revform__fld input:focus,.revform__fld textarea:focus{border-color:var(--orange-500)}
.stars{display:inline-flex;flex-direction:row-reverse;gap:2px;font-size:26px;line-height:1}
.stars input{position:absolute;opacity:0;width:0;height:0}
.stars label{color:var(--gray-300);cursor:pointer;transition:color .1s}
.stars label:hover,.stars label:hover~label,.stars input:checked~label{color:var(--yellow-500)}
.revform__foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}

/* --- чат с мастером ---------------------------------------------------------- */
.chat{position:fixed;right:18px;bottom:18px;z-index:90;width:min(348px,calc(100vw - 36px));height:480px;max-height:calc(100vh - 40px);
  background:var(--paper);border-radius:14px;box-shadow:0 24px 64px rgba(28,18,13,.4);display:flex;flex-direction:column;overflow:hidden;
  animation:tFade 200ms var(--ease)}
.chat__head{background:var(--navy-800);padding:12px 14px;display:flex;align-items:center;gap:10px}
.chat__ava{flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:var(--orange-100);color:var(--orange-700);
  font-size:12px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;overflow:hidden}
.chat__ava img{width:100%;height:100%;object-fit:cover}
.chat__who{min-width:0;flex:1;display:flex;flex-direction:column}
.chat__name{color:#FAF3E8;font-size:13.5px;font-weight:700}
.chat__status{display:flex;align-items:center;gap:5px;color:rgba(250,243,232,.65);font-size:11px}
.chat__status .dot{width:6px;height:6px}
.chat__link{color:rgba(250,243,232,.7);font-size:14px;padding:4px}
.chat__x{border:none;background:transparent;color:rgba(250,243,232,.7);font-size:15px;cursor:pointer;font-family:inherit;padding:4px}
.chat__x:hover,.chat__link:hover{color:#FAF3E8}
.chat__msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:8px;background:var(--gray-25)}
.bubble{max-width:85%;padding:8px 12px;border-radius:12px 12px 12px 3px;background:var(--gray-100);color:var(--navy-700);
  font-size:13px;line-height:1.45;align-self:flex-start;position:relative;padding-bottom:16px}
.bubble--me{align-self:flex-end;background:var(--orange-100);border-radius:12px 12px 3px 12px}
.bubble--hint{color:var(--gray-600)}
.bubble__calc{display:block;margin-top:6px;background:var(--paper);border:1px solid var(--border-subtle);border-radius:8px;padding:6px 9px;font-size:12px;font-weight:600}
.bubble__time{position:absolute;right:9px;bottom:3px;font-size:9.5px;color:var(--gray-500)}
.chat__typing{padding:0 14px 6px;background:var(--gray-25);color:var(--red-600);font-size:11.5px;font-weight:600}
.chat__quick{padding:8px 10px 4px;display:flex;gap:6px;flex-wrap:wrap;background:var(--gray-25)}
.chat__quick .chip{font-size:11.5px;padding:5px 10px}
.chat__calc{margin:4px 10px 0;border:1.5px dashed var(--orange-400);background:var(--orange-50);color:var(--orange-700);
  font:inherit;font-size:12px;font-weight:700;padding:8px;border-radius:8px;cursor:pointer;text-align:left}
.chat__calc:hover{background:var(--orange-100)}
.chat__form{display:flex;gap:8px;padding:10px;border-top:1px solid var(--border-subtle);background:var(--paper)}
.chat__form input{flex:1;min-width:0;height:38px;padding:0 12px;border:1.5px solid var(--border-default);border-radius:8px;
  font:inherit;font-size:13px;color:var(--navy-700);background:var(--gray-25);outline:none}
.chat__form input:focus{border-color:var(--orange-500)}
@media (max-width:860px){.chat{bottom:70px;height:min(480px,calc(100vh - 90px))}}

/* --- карточка = мастер: основной массаж и допы ------------------------ */
.card__svc{font-size:13px;color:var(--gray-700);margin-top:2px}
.card__svc b{color:var(--navy-700)}
.card__addonhere{margin-top:4px;font-size:12px;font-weight:700;color:var(--orange-700);background:var(--orange-50);border-radius:6px;padding:3px 8px;display:inline-block}
.card__addons{display:block;margin-top:6px;font-size:12px;color:var(--gray-700);text-decoration:none}
.card__addons b{color:var(--navy-700)}
.card__addons:hover{color:var(--orange-700)}
.card__addons--qv{margin:4px 0 8px}
/* --- страница мастера: прайс в две колонки, факты справа ----------- */
.mlayout--facts{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.mlayout--facts .mcol{grid-column:1;min-width:0}
.mlayout--facts .mfacts{grid-column:2;grid-row:1 / span 2;position:sticky;top:12px}
.mhead__cta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.ptable{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 36px}
.ptable__head{display:flex;align-items:center;gap:9px;margin:0 0 6px;font-size:18px;font-weight:800;color:var(--navy-700)}
.ptable__ico{width:24px;height:24px;border-radius:7px;display:inline-block;background:var(--orange-100);position:relative}
.ptable__ico::before{content:"";position:absolute;inset:6px;border-radius:3px;background:var(--orange-600)}
.ptable__ico--home::before{clip-path:polygon(50% 0,100% 45%,85% 45%,85% 100%,15% 100%,15% 45%,0 45%)}
.ptable__ico--car{background:var(--blue-50)}
.ptable__ico--car::before{background:var(--blue-600);clip-path:polygon(15% 40%,30% 5%,70% 5%,85% 40%,100% 45%,100% 90%,0 90%,0 45%)}
.ptable__row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;border-bottom:1px dashed var(--gray-100);font-size:15px;color:var(--gray-700)}
.ptable__row b{color:var(--orange-700);font-weight:800;white-space:nowrap}
.ptable__row b.none{color:var(--gray-400);font-weight:500}
.ptable__old{font-size:12px;color:var(--gray-500);font-weight:500;margin-right:6px}
.ptable__note{margin:10px 0 0;font-size:12.5px;color:var(--gray-500)}
.mgeo{margin-top:16px;padding-top:14px;border-top:1px solid var(--gray-100);display:flex;flex-direction:column;gap:8px;font-size:14.5px;color:var(--gray-700)}
.mgeo__row span:first-child{color:var(--gray-500);display:inline-block;min-width:70px}
.mgeo a{font-weight:700;color:var(--navy-700);text-decoration:underline;text-decoration-color:var(--gray-300);margin-right:10px}
.mgeo a:hover{color:var(--orange-700)}
.mgeo__row--dirs{line-height:1.7}
.mgeo__row--dirs a{margin-right:0;font-weight:600}
.mgeo__row--dirs a.mgeo__main{font-weight:800;color:var(--orange-700)}
.mm{display:inline-block;width:15px;height:15px;border-radius:3px;background:var(--orange-500);color:#fff;font-size:9.5px;font-weight:900;text-align:center;line-height:15px;margin-right:5px;font-style:normal;vertical-align:1px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--gray-50);border-radius:12px;padding:4px}
.fact{padding:10px 4px;text-align:center;background:var(--paper);border-radius:9px;min-width:0}
.fact span{display:block;font-size:11.5px;color:var(--gray-500)}
.fact b{display:block;font-size:13.5px;line-height:1.2;color:var(--navy-700);margin-top:3px;overflow-wrap:anywhere}
.frows{margin:14px 0 0;display:grid;grid-template-columns:auto 1fr;gap:7px 12px;font-size:14px}
.frows dt{color:var(--gray-500);white-space:nowrap}
.frows dd{margin:0;color:var(--navy-700);font-weight:600}
.frows dd a{text-decoration:underline;text-decoration-color:var(--gray-300)}
.frows dd a:hover{color:var(--orange-700)}
.docs-ok{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:14px;color:#2f7a4c;font-weight:800;font-size:13.5px}
.docs-ok i{width:20px;height:20px;border-radius:50%;background:#3cb371;color:#fff;font-style:normal;font-size:12px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
.docs-ok small{flex-basis:100%;font-weight:600;font-size:11.5px;color:var(--gray-600);padding-left:28px}
.h2--line{margin-top:18px;padding-bottom:8px;position:relative}
.h2--line::after{content:"";position:absolute;left:0;bottom:0;width:110px;height:3px;border-radius:3px;background:var(--orange-500)}
.addons--static .addon{cursor:default}
.addon--free .addon__price{color:#2f7a4c}
.addon__name a{color:inherit;text-decoration:none}
.addon__name a:hover{color:var(--orange-700)}
@media (max-width:860px){
  /* на мобилке .mcol схлопнут (display:contents) — порядок задаём панелям */
  .mlayout--facts{display:flex;flex-direction:column}
  .mlayout--facts .mfacts{position:static}
  .mlayout--facts #s-photos{order:1}
  .mlayout--facts #s-price{order:2}
  .mlayout--facts #s-services{order:3}
  .mlayout--facts .mfacts{order:4}
  .mlayout--facts #s-reviews{order:5}
  .facts{grid-template-columns:repeat(2,1fr)}
}

/* --- «Услуги и удобства» ------------------------------------------------ */
.svcs__head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.svcs__head .h2--line{margin-top:0}
.svcs__legend{display:flex;gap:16px;font-size:13px;color:var(--gray-600)}
.svcs__legend span{display:inline-flex;align-items:center;gap:6px}
.svcs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:22px 28px}
.svcs__title{margin:0 0 8px;font-size:17px;font-weight:800;color:var(--navy-700)}
.svcs__item{display:flex;align-items:flex-start;gap:10px;padding:5px 0;font-size:14.5px;color:var(--gray-700);line-height:1.35}
.svcs__item a{color:inherit;text-decoration:none}
.svcs__item a:hover{color:var(--orange-700)}
.svcs__item small{color:var(--gray-500);font-weight:600;font-size:12px;white-space:nowrap}
.svcs__ico{flex:0 0 18px;width:18px;height:18px;margin-top:1px;position:relative;display:inline-block}
.svcs__ico--on::before{content:"";position:absolute;left:3px;top:2px;width:6px;height:11px;border:solid var(--orange-600);border-width:0 3px 3px 0;transform:rotate(42deg)}
.svcs__ico--paid{border:2px solid var(--orange-600);border-radius:50%}
.svcs__ico--paid::before,.svcs__ico--paid::after{content:"";position:absolute;background:var(--orange-600);left:50%;top:50%;transform:translate(-50%,-50%)}
.svcs__ico--paid::before{width:8px;height:2px}
.svcs__ico--paid::after{width:2px;height:8px}
@media (max-width:860px){.svcs{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px 14px}}
