/* =====================================================================
   Страница «Массаж» — шаблон page-massazh.php в теме WordPress.
   Подключается только на этой странице (inc/massage.php), главной не нужен.

   Макет пришёл отдельной вёрсткой goldline-massage-ready: своя шапка и подвал,
   бренд «Gold Line», Georgia, золотые кнопки, текст 9–11 px и собственные
   контрольные точки 1199 / 1099 / 900 / 760 / 560. Здесь он приведён к сайту:
   шапка, подвал, кнопки, окна, поля формы, подписи-таблетки, чек-лист, шаги
   и вопросы — общие компоненты styles.css; шрифты --serif / --sans, сетка
   .container и точки 1320 / 1100 / 850 / 600 / 370 — сайтовые. Размер H2 —
   общий для всех блоков, своих размеров заголовков у страницы нет.
   От макета остались состав блоков, тексты и тёплая палитра: бежевые панели
   и золото в украшениях. Действие на странице одного цвета — оливковое.
   Классы glm-* оставлены из макета, чтобы правки переносились без переименований.
   ===================================================================== */
.glm {--glm-warm:#f8f1e7;--glm-warm-deep:#f3e9dc;--glm-gold:#8a6a42;--glm-text:#5d5850;--glm-line:#ece4d8;--glm-gap:72px}
.glm .glm-icon {stroke-width:1.45}
.glm h2,.glm h3 {text-wrap:balance}
.glm .section__lead {color:var(--glm-text)}
.glm-note {margin-top:16px;color:#6a6f68;font-size:13px;line-height:1.55;text-wrap:pretty}

/* Цветные блоки — скруглённые панели, как «Естественный результат» и запись на главной. */
.glm-panel {--inset:36px;position:relative;isolation:isolate;overflow:hidden;width:calc(100% - var(--inset));max-width:1404px;margin-inline:auto;border:1px solid #eee4d6;border-radius:23px;background:var(--glm-warm)}
.glm-panel__inner {width:min(calc(100% + var(--inset) - var(--gutter)*2),var(--container));margin-inline:auto;padding-block:56px}

/* ---- Первый экран ----
   Кадр вертикальный (1120×1333). В широкой рамке во всю половину экрана у мастера
   срезалась голова, а внизу пропадали руки и клиентка. Теперь рамка повторяет
   пропорции кадра: мастер, руки и клиентка видны целиком на любой ширине. */
.glm-hero {background:#f9efe4}
.glm-hero__inner {display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:64px;align-items:center;padding-block:22px 56px}
.glm-breadcrumbs {grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:22px;color:#6a675f;font-size:13px}
.glm-breadcrumbs a {text-decoration:underline;text-decoration-color:#d6cab8;text-underline-offset:4px;transition:color .2s}
.glm-breadcrumbs a:hover {color:var(--olive-dark)}
.glm-breadcrumbs [aria-current] {color:var(--ink)}
.glm-hero__copy {min-width:0;max-width:660px}
.glm-hero h1 {margin-top:18px;font-size:64px;line-height:1;letter-spacing:-.012em}
.glm-hero__h1 {display:block}
/* Вторая строка H1 — виды массажа: тише и мельче, но это тот же заголовок. */
.glm-hero__h1-sub {display:block;margin-top:14px;color:#6b5a45;font-size:30px;line-height:1.15;letter-spacing:-.008em;text-wrap:balance}
.glm-hero__lead {max-width:560px;margin-top:22px;color:var(--glm-text);font-size:18px;line-height:1.55;text-wrap:pretty}
.glm-hero__actions {display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:30px}
.glm-hero__actions .button--primary {min-width:260px}
.glm-hero__media {position:relative;margin:0;height:clamp(460px,40vw,600px);aspect-ratio:1120 / 1333;overflow:hidden;border-radius:23px;background:#eadfce}
.glm-hero__media img {width:100%;height:100%;object-fit:cover}
/* Честная метка: фото процедур на странице — визуализации. */
.glm-hero__caption {position:absolute;right:14px;bottom:14px;padding:5px 12px;border-radius:40px;background:#2b2118a8;color:#fff;font-size:12px;line-height:1.3}
/* Цены за 60 минут: три самых частых вида из прайса — строками, без иконок. */
.glm-hero__prices {max-width:430px;margin-top:38px}
.glm-hero__prices-title {color:#6a675f;font-size:14px}
.glm-hero__prices dl {margin:8px 0 0;border-top:1px solid #e2d3bf}
.glm-hero__prices dl>div {display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid #e2d3bf}
.glm-hero__prices dt {color:var(--ink);font-size:16px;line-height:1.3}
.glm-hero__prices dd {margin:0;color:var(--ink);font-variant-numeric:lining-nums tabular-nums;font:300 24px/1 var(--display);letter-spacing:-.008em;white-space:nowrap}
.glm-hero__prices-note {margin-top:10px;color:#6b5a45;font-size:14px}

/* ---- Первый экран с фото во всю ширину (glm-hero--wide, с 14.09.2026) ----
   Как на главной и «Лимфодренажном массаже» (lymph.css, .gll-hero): кадр 16:9 начинается под концом
   текста (--glm-copy) и заходит под него на --glm-overlap, светлая растяжка шириной --glm-fade ложится
   на полотенце в левой части кадра, мастер (44–61 % ширины кадра) и голова гостьи (до 67 %) — в чистой части.
   Цены за 60 минут — строкой, как на лимфодренаже. До 1100 px фото встаёт под кнопки во всю ширину.
   На странице лимфодренажа модификатора нет — её первый экран эти правила не трогают. */
.glm-hero--wide {position:relative;isolation:isolate;overflow:hidden;--glm-copy:540px;--glm-fade:250px;--glm-overlap:90px}
.glm-hero__visual {position:absolute;z-index:-1;top:0;right:0;bottom:0;left:calc(max(var(--gutter),(100% - var(--container)) / 2) + var(--glm-copy) - var(--glm-overlap));margin:0;background:#d9c7b1}
.glm-hero__visual::after {content:"";position:absolute;top:0;bottom:0;left:-1px;width:var(--glm-fade);background:linear-gradient(90deg,#f9efe4 0%,#f9efe4f2 36%,#f9efe4a8 68%,#f9efe400 100%);pointer-events:none}
.glm-hero__photo {width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.glm-hero--wide .glm-hero__inner {grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:clamp(620px,44vw,720px);padding-block:22px 44px}
.glm-hero--wide .glm-hero__copy {align-self:center;max-width:var(--glm-copy)}
.glm-hero--wide .glm-hero__prices {max-width:none;margin-top:34px;padding-top:18px;border-top:1px solid #e6d9c7}
.glm-hero--wide .glm-hero__prices dl {display:flex;margin-top:10px;border-top:0}
.glm-hero--wide .glm-hero__prices dl>div {flex-direction:column;align-items:flex-start;justify-content:space-between;gap:5px;padding:0;border-bottom:0}
.glm-hero--wide .glm-hero__prices dl>div+div {margin-left:24px;padding-left:24px;border-left:1px solid #e6d9c7}
.glm-hero--wide .glm-hero__prices dt {color:#6a675f;font-size:14px;line-height:1.2}
.glm-hero--wide .glm-hero__prices dd {font-size:28px;letter-spacing:-.01em}
.glm-hero--wide .glm-hero__prices-note {margin-top:12px}
@media(min-width:1600px){.glm-hero--wide .glm-hero__inner{min-height:680px}}
@media(max-width:1320px){.glm-hero--wide{--glm-copy:500px;--glm-fade:170px;--glm-overlap:60px}.glm-hero--wide .glm-hero__photo{object-position:58% 50%}.glm-hero--wide .glm-hero__prices dd{font-size:26px}.glm-hero--wide .glm-hero__prices dl>div+div{margin-left:20px;padding-left:20px}}
@media(max-width:1100px){
 .glm-hero--wide .glm-hero__inner{grid-template-rows:none;min-height:0;padding-block:20px 30px}
 .glm-hero--wide .glm-hero__copy{display:contents}.glm-hero--wide .eyebrow{justify-self:start}
 .glm-hero__visual{position:relative;z-index:0;order:1;inset:auto;margin:30px calc(var(--gutter) * -1) 0;aspect-ratio:1.6}
 .glm-hero__visual::after{display:none}
 .glm-hero--wide .glm-hero__photo{object-position:54% 50%}
 .glm-hero--wide .glm-hero__prices{order:2;margin-top:24px;padding-top:0;border-top:0}
}
@media(max-width:600px){
 .glm-hero__visual{margin-top:22px;aspect-ratio:1.25}
 .glm-hero--wide .glm-hero__photo{object-position:57% 50%}
 .glm-hero--wide .glm-hero__inner{padding-block:14px 26px}
 /* Цены стоят прямо под фото — ссылка «Цены на массаж» на телефоне лишняя и опускала фото на строку. */
 .glm-hero--wide .glm-hero__actions .text-link{display:none}
 /* Три цены в строку на телефон не помещаются — снова строками: название слева, цена справа. */
 .glm-hero--wide .glm-hero__prices{margin-top:18px}
 .glm-hero--wide .glm-hero__prices dl{display:block;margin-top:8px;border-top:1px solid #e2d3bf}
 .glm-hero--wide .glm-hero__prices dl>div{flex-direction:row;align-items:baseline;gap:16px;padding:10px 0;border-bottom:1px solid #e2d3bf}
 .glm-hero--wide .glm-hero__prices dl>div+div{margin-left:0;padding-left:0;border-left:0}
 .glm-hero--wide .glm-hero__prices dt{color:var(--ink);font-size:15px}.glm-hero--wide .glm-hero__prices dd{font-size:21px}
}

/* ---- Направления: цена и длительность из прайса прямо на карточке ---- */
.glm-services {padding-top:var(--glm-gap)}
.glm-services-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.glm-service {min-width:0}
.glm-service__open {display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden;border:1px solid #e9e3da;border-radius:var(--radius);background:#fff;text-align:left;transition:box-shadow .25s,transform .25s,border-color .25s}
.glm-service__open:hover {transform:translateY(-4px);border-color:#d7cbb8;box-shadow:0 14px 30px rgba(86,68,43,.1)}
.glm-service__open:active {transform:translateY(-1px)}
/* Переход из меню «Услуги» к направлению: карточка подсвечена рамкой. */
.glm-service:target .glm-service__open {border-color:var(--olive);box-shadow:0 0 0 2px var(--olive),0 14px 30px rgba(86,68,43,.1)}
.glm-service__photo {display:block;aspect-ratio:1.2;overflow:hidden;background:var(--glm-warm)}
.glm-service__photo img {width:100%;height:100%;object-fit:cover;transition:transform .45s}
.glm-service__open:hover img {transform:scale(1.04)}
.glm-service__body {display:flex;flex:1;flex-direction:column;padding:16px 16px 14px}
.glm-service__title {color:var(--ink);font:350 21px/1.18 var(--display);letter-spacing:-.008em;hyphens:manual}
.glm-service__lead {margin-top:10px;color:var(--glm-text);font-size:14px;line-height:1.5}
.glm-service__more {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:14px}
.glm-service__price {color:var(--ink);font-size:14px;font-weight:600;line-height:1.3;font-variant-numeric:lining-nums tabular-nums}
.glm-service__price.is-muted {color:#6a6f68;font-weight:400}
.glm-service__more .arrow-circle {flex-shrink:0;width:34px;height:34px}
/* Массаж лица — широкая карточка с настоящим фото мастера: фото слева, текст справа. */
.glm-service--wide {grid-column:span 2}
.glm-service--wide .glm-service__open {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr)}
.glm-service--wide .glm-service__photo {position:relative;height:100%;min-height:260px;aspect-ratio:auto}
.glm-service--wide .glm-service__photo img {position:absolute;inset:0;object-position:50% 16%}
.glm-service__who {position:absolute;left:12px;bottom:12px;padding:4px 10px;border-radius:40px;background:#2b2118a8;color:#fff;font-size:12px;line-height:1.3}
.glm-service--wide .glm-service__body {padding:22px 22px 16px}
.glm-service--wide .glm-service__title {font-size:27px}
.glm-service--wide .glm-service__lead {font-size:15px}
.glm-service__open:hover .arrow-circle {background:var(--olive);border-color:var(--olive);color:#fff}

/* ---- Подбор по запросу: схема тела и кнопки запросов ---- */
.glm-concerns {margin-top:var(--glm-gap)}
.glm-concerns__layout {display:grid;grid-template-columns:260px minmax(0,1fr);gap:48px;align-items:center}
.glm-body-map {position:relative;width:240px;height:300px;margin-inline:auto}
.glm-body-map__figure {position:absolute;left:20px;top:0;width:200px;height:300px}
.glm-hotspot {position:absolute;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#a8845724;transition:background .2s,transform .2s}
.glm-hotspot span {width:16px;height:16px;border:2px solid #fff8ee;border-radius:50%;background:#a88457;box-shadow:0 0 0 3px #a8845730}
.glm-hotspot:hover {background:#a8845745;transform:scale(1.08)}
.glm-hotspot.is-active {background:#68755a33}
.glm-hotspot.is-active span {background:var(--olive);box-shadow:0 0 0 3px #68755a40}
.glm-hotspot--neck {left:100px;top:38px}
.glm-hotspot--back {left:100px;top:84px}
.glm-hotspot--waist {left:100px;top:134px}
.glm-hotspot--legs {left:84px;top:212px}
.glm-concern-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.glm-concern {display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;min-height:104px;padding:14px 10px;border:1px solid transparent;border-radius:var(--radius);background:#ffffffc9;color:var(--ink);font-size:15px;line-height:1.3;text-align:center;transition:border-color .2s,background .2s,box-shadow .2s}
.glm-concern .icon {width:30px;height:30px;color:var(--glm-gold)}
.glm-concern:hover {border-color:#d9ccb8;background:#fff}
.glm-concern[aria-pressed="true"] {border-color:var(--olive);background:#fff;box-shadow:inset 0 0 0 1px var(--olive),0 6px 16px rgba(83,97,70,.1)}
.glm-concern-result {display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:12px;padding:18px 22px;border-left:3px solid var(--olive);border-radius:var(--radius);background:#fff}
.glm-concern-result strong {display:block;font:350 22px/1.25 var(--display);letter-spacing:-.008em}
.glm-concern-result p {max-width:520px;margin-top:6px;color:var(--glm-text);font-size:15px;line-height:1.55;text-wrap:pretty}
.glm-concern-result .button {flex-shrink:0;min-height:52px;padding:12px 26px;gap:12px;font-size:15px}

/* ---- Чай при свечах: фишка клиники из прайса ---- */
.glm-about {padding-top:var(--glm-gap)}
.glm-about__inner {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px;align-items:center}
.glm-about h2 {margin-top:16px}
.glm-about__copy>p {max-width:540px;margin-top:16px;color:var(--glm-text);font-size:17px;line-height:1.6}
.glm-about__media {position:relative;overflow:hidden;aspect-ratio:590 / 405;border-radius:var(--radius);background:var(--glm-warm)}
.glm-about__media img {width:100%;height:100%;object-fit:cover}

/* ---- Парный массаж ---- */
.glm-pair {margin-top:var(--glm-gap)}
.glm-pair__panel {display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--glm-warm-deep)}
.glm-pair__media {position:relative;min-height:480px}
.glm-pair__media img {position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 48%}
.glm-pair__caption {position:absolute;left:24px;bottom:24px;padding:8px 14px;border-radius:40px;background:#2b2118b3;color:#fff;font-size:14px}
.glm-pair__copy {align-self:center;padding:56px}
.glm-pair__copy h2 {margin-top:16px}
.glm-pair__copy>p {max-width:440px;margin-top:16px;color:var(--glm-text);font-size:17px;line-height:1.6}
.glm-pair .checklist {margin-top:24px}
.glm-pair__actions {display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:30px}
.glm-pair__offer {display:inline-flex;align-items:center;gap:10px;padding:9px 16px;border-radius:40px;background:#fff8ec;color:#6b4a22;font:400 17px/1.3 var(--display)}
.glm-pair__offer .icon {width:22px;height:22px;color:var(--glm-gold)}
/* Ссылка на посадочную «SPA для двоих»: ключ держит она, здесь блок-анонс (16.09.2026). */
.glm-pair__more {margin-top:20px}

/* ---- Цены на массаж: из прайса сайта. Вся карточка — кнопка записи на эту позицию ---- */
.glm-prices {padding-top:var(--glm-gap)}
.glm-prices-grid {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.glm-prices-grid>li {display:flex;min-width:0}
.glm-price {display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:22px 22px 16px;border:1px solid #ece5da;border-radius:16px;background:linear-gradient(150deg,#fff,#fffdf9);box-shadow:0 8px 24px rgba(108,86,49,.05);text-align:left;transition:border-color .2s,box-shadow .2s,transform .2s}
.glm-price:hover {border-color:#d6c8b3;box-shadow:0 14px 30px rgba(108,86,49,.1);transform:translateY(-3px)}
.glm-price__name {color:var(--ink);font:350 22px/1.2 var(--display);letter-spacing:-.008em}
.glm-price__time {display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:4px 10px;border-radius:40px;background:#f6efe4;color:#5f4a30;font-size:13px;white-space:nowrap}
.glm-price__time .icon {width:15px;height:15px}
.glm-price__amount {margin-top:auto;padding-top:18px;color:var(--ink);font:300 32px/1.1 var(--display);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap}
.glm-price__book {display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:14px;padding-top:12px;border-top:1px solid #f0e9df;color:var(--olive-dark);font-size:14px}
.glm-price__book .icon {width:18px;height:18px}
.glm-price:hover .glm-price__book,.glm-spa-item:hover .glm-price__book {text-decoration:underline;text-underline-offset:4px}
.glm-prices__offer {display:flex;flex-direction:column;align-items:flex-start;gap:14px;width:100%;padding:22px;border-radius:16px;background:var(--glm-warm)}
.glm-prices__offer>.icon {width:32px;height:32px;color:var(--glm-gold)}
.glm-prices__offer p {color:#5e421e;font:350 22px/1.25 var(--display);letter-spacing:-.008em}
.glm-prices__offer .text-link {margin-top:auto;white-space:normal}

/* ---- SPA-программы: строки прайса клиники, строка — запись на программу ---- */
.glm-spa {padding-top:var(--glm-gap)}
.glm-spa-list {display:grid;gap:8px;margin:0;padding:0;list-style:none}
.glm-spa-item {display:grid;grid-template-columns:minmax(0,1fr) 270px 110px 120px;align-items:center;gap:12px 24px;width:100%;padding:18px 22px;border:1px solid #ece5da;border-radius:14px;background:#fff;text-align:left;transition:border-color .2s,box-shadow .2s}
.glm-spa-item:hover {border-color:#d6c8b3;box-shadow:0 10px 24px rgba(108,86,49,.08)}
.glm-spa-item__steps {color:var(--ink);font:350 20px/1.35 var(--display);letter-spacing:-.25px}
.glm-spa-item__plus {color:var(--glm-gold)}
.glm-spa-item__meta {display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.glm-spa-item__meta .glm-price__time {margin-top:0}
.glm-spa-item__gift {display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:40px;background:#eef2e8;color:#46533b;font-size:13px;white-space:nowrap}
.glm-spa-item__gift .icon {width:15px;height:15px}
.glm-spa-item__price {color:var(--ink);font:300 26px/1.1 var(--display);text-align:right;white-space:nowrap;font-variant-numeric:lining-nums tabular-nums}
.glm-spa-item .glm-price__book {justify-content:flex-end;width:auto;margin:0;padding:0;border:0;gap:10px}

/* ---- Мастера ---- */
.glm-team {padding-top:var(--glm-gap)}
.glm-team-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;list-style:none}
.glm-master {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
.glm-master__photo {display:block;aspect-ratio:.8;overflow:hidden;background:var(--glm-warm)}
.glm-master__photo img {width:100%;height:100%;object-fit:cover;transition:transform .45s}
.glm-master__photo:hover img {transform:scale(1.03)}
.glm-master__body {display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:28px 26px 26px}
.glm-master__role {color:#76582f;font-size:12px;letter-spacing:1.6px;text-transform:uppercase}
.glm-master h3 {margin-top:10px;font:300 26px/1.15 var(--display);letter-spacing:-.008em}
.glm-master__focus {margin-top:12px;color:#474c4e;font-size:16px;line-height:1.45}
.glm-master__detail {margin-top:8px;color:var(--glm-text);font-size:15px;line-height:1.55}
.glm-master__book.button {min-height:50px;margin-top:24px;padding:11px 22px;gap:12px;font-size:15px}
.glm-master__book .icon {width:20px;height:20px}

/* ---- Первый сеанс: общие шаги сайта, как «Что будет на первой консультации» ---- */
.glm-process {padding-top:var(--glm-gap)}
.glm .visit-step .round-icon {background:var(--glm-warm);color:var(--glm-gold)}

/* ---- Галерея ---- */
.glm-gallery-section {padding-top:var(--glm-gap)}
.glm-gallery {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0;padding:0;list-style:none}
.glm-gallery>li {min-width:0}
.glm-gallery-item {position:relative;display:block;width:100%;aspect-ratio:.8;overflow:hidden;border-radius:var(--radius);background:var(--glm-warm)}
.glm-gallery-item img {width:100%;height:100%;object-fit:cover;transition:transform .45s}
.glm-gallery-item:hover img {transform:scale(1.035)}
.glm-gallery-item__caption {position:absolute;inset:auto 0 0;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:44px 16px 14px;background:linear-gradient(transparent,rgba(29,23,20,.64));color:#fff;font-size:15px;line-height:1.35;text-align:left}
.glm-gallery-item__caption .icon {width:22px;height:22px}

/* ---- Отзывы и вопросы ---- */
.glm-reviews-faq {padding-top:var(--glm-gap)}
.glm-reviews-faq__layout {display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:56px;align-items:start}
.glm-review-sources {display:grid;gap:10px;margin:24px 0 0;padding:0;list-style:none}
.glm-review-source {display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;transition:border-color .2s,box-shadow .2s}
.glm-review-source:hover {border-color:#ccd4c3;box-shadow:0 8px 20px rgba(43,48,50,.06)}
.glm-map-logo {display:grid;place-items:center;flex-shrink:0;width:46px;height:46px;border-radius:50%;background:var(--glm-warm);color:#6b4a22;font:350 22px/1 var(--display)}
.glm-review-source__text {flex:1;min-width:0}
.glm-review-source strong {display:block;font-size:16px;font-weight:600}
.glm-review-source small {display:block;margin-top:2px;color:#6a6f68;font-size:13px}
.glm-review-source>.icon {width:20px;height:20px;color:var(--olive-dark)}
.glm-faq-list {display:grid;gap:8px;margin-top:24px}

/* ---- Запись: общая форма заявки сайта в тёплой панели ---- */
.glm-booking {margin-block:var(--glm-gap) 8px}
.glm-booking .glm-panel {background:linear-gradient(103deg,#f7f0e6,#faf6ef 54%,#f1e7d9)}
.glm-booking__inner {display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,.72fr);gap:48px;align-items:start;padding:52px 56px}
.glm-booking h2 {margin-top:16px}
.glm-booking h2 em {font-style:normal;color:var(--olive)}
.glm-booking__copy>p {margin-top:16px;color:var(--glm-text);font-size:17px;line-height:1.6}
.glm-form .form-grid {gap:14px 16px}
.glm-form .field input,.glm-form .field select {background:#fff}
.glm-booking__contacts {padding:24px;border-radius:var(--radius);background:#ffffffb8}
.glm-booking__contacts h3 {font:300 24px/1.2 var(--display);letter-spacing:-.008em}
.glm-booking__phone {display:inline-flex;align-items:center;gap:10px;margin-top:14px;color:var(--olive-dark);font-size:21px;font-weight:600;letter-spacing:-.008em;white-space:nowrap}
.glm-booking__phone .icon {width:20px;height:20px}
.glm-booking__contacts p {margin-top:8px;color:var(--glm-text);font-size:14px;line-height:1.55}
.glm-booking__contacts .text-link {margin-top:14px;gap:12px;white-space:normal}

/* ===================================================================== */
@media(max-width:1320px){
 .glm-hero__inner{column-gap:48px}.glm-hero h1{font-size:58px}.glm-hero__h1-sub{font-size:27px}.glm-hero__lead{font-size:17px}.glm-hero__media{height:clamp(440px,40vw,540px)}
 .glm-service--wide .glm-service__title{font-size:25px}
 .glm-concerns__layout{grid-template-columns:240px minmax(0,1fr);gap:32px}
 .glm-pair__copy{padding:48px 44px}
 .glm-price{padding-inline:18px}.glm-price__name{font-size:20px}.glm-price__amount{font-size:29px}
 .glm-spa-item{grid-template-columns:minmax(0,1fr) 250px 100px 110px;gap:12px 18px}.glm-spa-item__steps{font-size:19px}
 .glm-master__body{padding:24px 20px}.glm-master h3{font-size:23px}
 .glm-booking__inner{gap:32px;padding:44px}
}
@media(max-width:1100px){
 .glm{--glm-gap:60px}
 /* Поля сайта уже 30 px — панели становятся полосами во всю ширину, как на главной. */
 .glm-panel{--inset:0px;border-inline:0;border-radius:0}
 .glm-hero__inner{column-gap:36px}.glm-hero h1{font-size:48px;letter-spacing:-.012em}.glm-hero__h1-sub{font-size:23px}.glm-hero__lead{font-size:16px}.glm-hero__media{width:clamp(300px,36vw,390px);height:auto}
 .glm-hero__actions .button--primary{min-width:0}.glm-hero__prices{margin-top:30px}.glm-hero__prices dd{font-size:22px}
 .glm-services-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
 .glm-service--wide{grid-column:1 / -1}.glm-service--wide .glm-service__open{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.glm-service--wide .glm-service__photo{min-height:300px}.glm-service--wide .glm-service__body{padding:28px 30px 20px}.glm-service--wide .glm-service__lead{max-width:460px}.glm-service__photo{aspect-ratio:1.6}.glm-service__title{font-size:22px}.glm-service__title br{display:none}.glm-service__lead{font-size:14px}.glm-service__body{padding:16px}.glm-service__price{font-size:14px}
 .glm-concern{font-size:14px}
 .glm-about__inner{gap:36px}.glm-about__copy>p{font-size:16px}
 .glm-pair__panel{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.glm-pair__copy{padding:40px 30px}.glm-pair__copy>p{font-size:16px}
 .glm-prices-grid{gap:12px}
 /* SPA-строка: состав и метки слева, цена и стрелка справа. */
 .glm-spa-item{grid-template-columns:minmax(0,1fr) auto auto;column-gap:18px;row-gap:8px}
 .glm-spa-item__steps{grid-column:1}.glm-spa-item__meta{grid-column:1}
 .glm-spa-item__price{grid-column:2;grid-row:1 / 3}.glm-spa-item .glm-price__book{grid-column:3;grid-row:1 / 3}
 .glm-spa-item .glm-price__book-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .glm-master{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.glm-master__detail{display:none}.glm-master__body{padding:20px 16px}.glm-master h3{font-size:21px}.glm-master__focus{font-size:15px}
 .glm-reviews-faq__layout{grid-template-columns:minmax(0,1fr);gap:44px}
 .glm-review-sources{grid-template-columns:repeat(2,minmax(0,1fr))}
 .glm-booking__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);width:min(calc(100% - var(--gutter)*2),var(--container));margin-inline:auto;padding:48px 0}
 .glm-booking__contacts{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px}
 .glm-booking__contacts h3{flex-basis:100%}.glm-booking__contacts .glm-booking__phone,.glm-booking__contacts p,.glm-booking__contacts .text-link{margin-top:0}
}
@media(max-width:850px){
 /* Первый экран до 700 px — ещё две колонки: кадр узкий, но целиком, без пустой полосы справа. */
 .glm-hero__inner{column-gap:28px}.glm-hero h1{font-size:44px}.glm-hero__h1-sub{font-size:21px}.glm-hero__media{width:clamp(250px,38vw,320px)}
 .glm-services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .glm-service--wide .glm-service__open{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}.glm-service--wide .glm-service__photo{min-height:280px}
 /* Схемы тела на узком экране нет — и подсказка о ней не нужна. */
 .glm-concerns__layout{grid-template-columns:minmax(0,1fr)}.glm-body-map,.glm-map-hint{display:none}
 .glm-about__inner{grid-template-columns:minmax(0,1fr)}
 .glm-pair__panel{grid-template-columns:minmax(0,1fr)}.glm-pair__media{min-height:0;aspect-ratio:1.38}.glm-pair__copy{width:min(calc(100% - var(--gutter)*2),var(--container));margin-inline:auto;padding:34px 0 40px}
 .glm-prices-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .glm-team-grid{grid-template-columns:minmax(0,1fr)}.glm-master__detail{display:block}
 .glm-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
 .glm-booking__inner{grid-template-columns:minmax(0,1fr);gap:28px}.glm-booking__copy p{max-width:560px}
}
@media(max-width:700px){
 /* Первый экран — одна колонка: текст и кнопка, кадр целиком во всю ширину, под ним цены.
    Блок текста растворяется в сетке (display:contents), чтобы цены встали после кадра
    и фото поднялось в первый экран телефона. */
 .glm-hero__inner{grid-template-columns:minmax(0,1fr);padding-block:18px 40px}
 .glm-hero__copy{display:contents}.glm-hero .eyebrow{justify-self:start}
 .glm-hero__media{order:1;width:100%;height:auto;margin-top:28px}
 .glm-hero__prices{order:2;max-width:none}
}
@media(max-width:600px){
 .glm{--glm-gap:44px}
 .glm-panel__inner{padding-block:36px 34px}
 /* Текстовые ссылки на телефоне — тап-зона не меньше 44 px. */
 .glm .text-link{min-height:44px}
 .glm-hero__inner{padding-block:14px 32px}.glm-breadcrumbs{margin-bottom:16px;font-size:13px}
 .glm-hero h1{margin-top:14px;font-size:40px;letter-spacing:-.012em}.glm-hero__h1-sub{margin-top:10px;font-size:21px;letter-spacing:-.008em}.glm-hero__lead{margin-top:14px;font-size:16px}
 .glm-hero__actions{gap:6px 14px;margin-top:22px}.glm-hero__actions .button--primary{width:100%;min-height:54px;font-size:15px}
 .glm-hero__prices{margin-top:22px}.glm-hero__prices dt{font-size:15px}.glm-hero__prices dd{font-size:21px}
 .glm-hero__media{max-width:none;margin-top:24px;border-radius:16px}.glm-hero__caption{right:10px;bottom:10px;font-size:12px}
 .glm-services-grid{gap:10px}.glm-service__photo{aspect-ratio:1.3}.glm-service__body{padding:12px 12px 10px}.glm-service__title{font-size:18px;letter-spacing:-.008em}.glm-service__lead{margin-top:6px;font-size:13px;line-height:1.45}
 .glm-service--wide .glm-service__open{grid-template-columns:minmax(0,.85fr) minmax(0,1fr)}.glm-service--wide .glm-service__photo{min-height:230px}.glm-service--wide .glm-service__body{padding:14px 14px 12px}.glm-service--wide .glm-service__title{font-size:20px}.glm-service--wide .glm-service__lead{font-size:13px}.glm-service__who{left:8px;bottom:8px;padding:3px 8px;font-size:11px}
 .glm-service__more{padding-top:10px}.glm-service__price{font-size:13px}.glm-service__more .arrow-circle{width:28px;height:28px}.glm-service__more .icon{width:15px;height:15px}
 .glm-concern-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.glm-concern{min-height:86px;padding:12px 8px;gap:7px;font-size:14px}.glm-concern .icon{width:26px;height:26px}
 .glm-concern-result{flex-direction:column;align-items:stretch;gap:14px;padding:16px}.glm-concern-result strong{font-size:20px}.glm-concern-result p{font-size:14px}.glm-concern-result .button{width:100%;min-height:50px}
 .glm-about__copy>p{font-size:15px}
 .glm-pair__caption{left:14px;bottom:14px;font-size:13px}.glm-pair__copy{padding:28px 0 32px}.glm-pair__copy>p{font-size:15px}
 .glm-pair__actions{margin-top:24px}.glm-pair__actions .button{width:100%;min-height:54px;font-size:15px}
 /* Цены на телефоне — строками: название и длительность слева, цена и стрелка справа. */
 .glm-prices-grid{grid-template-columns:minmax(0,1fr);gap:8px}
 .glm-price{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;column-gap:12px;padding:14px 14px 14px 16px;border-radius:12px;box-shadow:none}
 .glm-price:hover{transform:none}
 .glm-price__name{grid-column:1;font-size:19px}.glm-price__time{grid-column:1;justify-self:start;margin-top:6px;font-size:12px}
 .glm-price__amount{grid-column:2;grid-row:1 / 3;margin:0;padding:0;font-size:23px}
 .glm-price__book{grid-column:3;grid-row:1 / 3;width:auto;margin:0;padding:0;border:0}
 .glm-price__book-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
 .glm-price__book .icon{width:20px;height:20px}
 .glm-prices__offer{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:16px;border-radius:12px}.glm-prices__offer>.icon{width:26px;height:26px}.glm-prices__offer p{flex:1;font-size:18px}.glm-prices__offer .text-link{flex-basis:100%;margin-top:0}
 .glm-spa-item{column-gap:12px;padding:14px 14px 14px 16px;border-radius:12px}.glm-spa-item__steps{font-size:17px}.glm-spa-item__price{font-size:21px}
 .glm-spa-item__gift,.glm-spa-item__meta .glm-price__time{font-size:12px}
 .glm-master{grid-template-columns:minmax(0,.78fr) minmax(0,1fr)}.glm-master__body{padding:14px}
 .glm-master__role{font-size:11px;letter-spacing:1.2px}.glm-master h3{margin-top:6px;font-size:19px}.glm-master__focus{margin-top:6px;font-size:13px}.glm-master__detail{display:none}
 .glm-master__book.button{min-height:44px;margin-top:12px;padding:8px 16px;gap:8px;font-size:14px}.glm-master__book .icon{width:16px;height:16px}
 /* Галерея на телефоне листается пальцем, край следующего кадра подсказывает прокрутку. */
 .glm-gallery{display:flex;gap:10px;margin-inline:calc(var(--gutter) * -1);padding:0 var(--gutter) 6px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);scrollbar-width:none;overscroll-behavior-x:contain}
 .glm-gallery::-webkit-scrollbar{display:none}
 .glm-gallery>li{flex:0 0 72%;scroll-snap-align:start}
 .glm-gallery-item__caption{font-size:14px}
 .glm-review-sources{grid-template-columns:minmax(0,1fr)}.glm-review-source{padding:14px}.glm-map-logo{width:40px;height:40px;font-size:19px}
 .glm-booking__inner{padding:34px 0 36px}.glm-booking__copy>p{font-size:15px}
 .glm-booking__contacts{padding:18px}.glm-booking__contacts h3{font-size:21px}.glm-booking__phone{font-size:19px}
}
@media(max-width:370px){
 .glm-hero h1{font-size:36px}.glm-hero__h1-sub{font-size:19px}
 .glm-hero__prices dt{font-size:14px}
 .glm-service__title{font-size:16px}.glm-service__lead{display:none}.glm-service__price{font-size:12px;white-space:nowrap}.glm-service__price.is-muted{white-space:normal}.glm-service__more{gap:4px}.glm-service__more .arrow-circle{width:24px;height:24px}.glm-service--wide .glm-service__title{font-size:18px}.glm-service--wide .glm-service__lead{display:block}
 .glm-concern{font-size:13px}
 .glm-price__name{font-size:17px}.glm-price__amount{font-size:20px}
 .glm-spa-item__steps{font-size:16px}.glm-spa-item__price{font-size:19px}
}
@media print{
 .glm-hero__media,.glm-hero__visual,.glm-body-map,.glm-gallery-section,.glm-booking .glm-form{display:none!important}
 .glm-hero__copy{width:100%}
 .glm-panel{border:0;background:#fff}
 .glm-price,.glm-spa-item,.glm-master{break-inside:avoid;box-shadow:none}
}

/* Страница SPA опубликована — вместо списка программ только кнопка на неё (page-massazh.php). */
.glm-spa-teaser {margin-top:4px}

/* ---- Классический массаж и сравнение видов (15.09.2026) ----
   Отдельную страницу классического массажа решили не делать — смыслы из макета goldline-massage
   добавлены сюда: блок под карточками видов и таблица «Какой массаж выбрать». */
.glm-classic {padding-top:var(--glm-gap)}
.glm-classic__inner {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:56px;align-items:start;padding:44px 48px;border-radius:var(--radius);background:var(--glm-warm)}
.glm-classic h2 {margin-top:16px}
.glm-classic__lead {max-width:600px;margin-top:16px;color:var(--glm-text);font-size:17px;line-height:1.6}
.glm-classic__facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0 0;padding-top:22px;border-top:1px solid #e6d9c7}
.glm-classic__facts dt {color:var(--glm-gold);font-size:14px;font-weight:500;letter-spacing:.02em}
.glm-classic__facts dd {margin:6px 0 0;color:var(--ink);font-size:15px;line-height:1.5}
.glm-classic__review {margin:28px 0 0;padding:20px 22px;border-left:3px solid #d6c3a5;border-radius:0 14px 14px 0;background:#fffdf9}
.glm-classic__review blockquote {margin:0;color:var(--ink);font:350 20px/1.4 var(--display);letter-spacing:-.004em}
.glm-classic__review figcaption {display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin-top:12px;color:#6a675f;font-size:14px}
.glm-classic__review strong {color:var(--ink);font-weight:500}
.glm-classic__review .text-link {margin-left:auto;font-size:14px}
.glm-classic__prices-title {color:#6a675f;font-size:14px}
.glm-classic__prices ul {display:grid;gap:12px;margin:10px 0 0;padding:0;list-style:none}
.glm-classic__prices li {display:flex}
.glm-classic__visit {margin-top:16px;padding:12px 14px;border-radius:12px;background:#eef1e8;color:#3b472f;font-size:15px;line-height:1.45}
.glm-classic__note {margin-top:10px;color:#6a675f;font-size:13px;line-height:1.5}

.glm-kinds {padding-top:var(--glm-gap)}
.glm-table-wrap {overflow-x:auto;border:1px solid var(--glm-line);border-radius:var(--radius);background:#fff;overscroll-behavior-x:contain}
.glm-table {width:100%;min-width:720px;border-collapse:collapse;font-size:15px;line-height:1.45}
.glm-table th,.glm-table td {padding:15px 20px;border-bottom:1px solid var(--glm-line);text-align:left;vertical-align:top}
.glm-table thead th {background:#faf6f0;color:#6a675f;font-size:14px;font-weight:500}
.glm-table tbody th {color:var(--ink);font:350 18px/1.3 var(--display);letter-spacing:-.004em}
.glm-table td {color:var(--glm-text)}
.glm-table td strong {color:var(--ink);font-weight:500}
.glm-table tbody tr:last-child>* {border-bottom:0}
.glm-table tr.is-current>* {background:#f5f7f0}
/* Лечебного массажа в клинике нет: выделена только ячейка «В клинике», и словами, а не одним цветом. */
.glm-table tr.is-absent .glm-table__clinic {color:#8a4b33}
.glm-table__clinic span {display:block}
.glm-table__clinic .text-link {margin-top:6px;font-size:14px}
.glm-table-wrap:focus-visible {outline:3px solid #536146;outline-offset:4px}
/* Карточки цен классического: заголовок — длительность, название услуги — в подписи над ними. */
.glm-classic__prices .glm-price__name {font-size:20px}

@media(max-width:1100px){
 /* Цены — сразу после лида: блок текста растворяется в сетке, порядок задаёт order. */
 .glm-classic__inner{grid-template-columns:minmax(0,1fr);gap:0;padding:34px 32px}
 .glm-classic__copy{display:contents}
 .glm-classic__copy>*{order:1}.glm-classic__copy>.eyebrow,.glm-classic h2,.glm-classic__lead{order:0}
 .glm-classic h2{margin-top:16px}.glm-classic .eyebrow{justify-self:start}
 .glm-classic__prices{order:0;margin-top:24px}
 .glm-classic__prices ul{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:850px){
 .glm-classic__facts{grid-template-columns:minmax(0,1fr);gap:14px}
}
@media(max-width:600px){
 /* Панель во всю ширину экрана: .container задаёт ширину, а не поля, поэтому ширина 100 % и поля — внутри. */
 .glm-classic__inner{width:100%;padding:26px var(--gutter);border-radius:0}
 .glm-classic__lead{font-size:16px}
 .glm-classic__review{padding:16px}.glm-classic__review blockquote{font-size:18px}.glm-classic__review .text-link{margin-left:0}
 .glm-classic__prices ul{grid-template-columns:minmax(0,1fr);gap:8px}
 /* Таблица сравнения — стопкой карточек: колонка «В клинике» не уходит за край экрана. */
 .glm-table-wrap{overflow:visible;border:0;background:none}
 .glm-table,.glm-table tbody,.glm-table tr,.glm-table th,.glm-table td{display:block;min-width:0;width:auto}
 .glm-table thead{display:none}
 .glm-table tr{margin-top:10px;padding:14px 16px;border:1px solid var(--glm-line);border-radius:14px;background:#fff}
 .glm-table tr.is-current{background:#f5f7f0}.glm-table tr.is-current>*{background:none}
 .glm-table th,.glm-table td{padding:0;border:0;font-size:15px}
 .glm-table tbody th{margin-bottom:8px;font-size:19px}
 .glm-table td{display:grid;grid-template-columns:118px minmax(0,1fr);gap:10px;padding-top:6px}
 .glm-table td::before{content:attr(data-label);color:#6a675f;font-size:13px;line-height:1.6}
 .glm-table__clinic span,.glm-table__clinic .text-link{grid-column:2}
 .glm-table__clinic .text-link{justify-self:start;margin-top:0}
}

/* Страницы видов массажа — строка обычных ссылок под карточками (page-massazh.php, 15.09.2026). */
.glm-service-pages {display:flex;flex-wrap:wrap;gap:4px 32px;margin-top:18px}
.glm-service-pages .text-link {white-space:normal}
