/* ============================================================
   MassageFM · inner — внутренние шаблоны (часть 2 WP-фазы).
   Аддитивный page-CSS: ядро (variables/base/components/layout) не трогаем.
   Дублирует несколько секционных паттернов из front.css (.order, .about-*,
   .geo-*, .bodymap) — front.css грузится только на главной.
   ============================================================ */

/* ---------- шапка страницы (шапка сайта absolute поверх) ---------- */
.page-head{padding:clamp(118px,14vh,160px) 0 clamp(26px,4vh,48px)}
.page-head h1{font-size:clamp(38px,4.6vw,68px);max-width:14em;margin:14px 0 0}
.page-head h1 em{font-style:normal;color:var(--terra)}
.page-lead{margin-top:18px;font-size:clamp(16px,1.35vw,19px);color:var(--ink-soft);max-width:40em}

/* ---------- хлебные крошки — caps-метки со стрелками ---------- */
.crumbs{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;
  font-size:12px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  color:var(--terra-deep);margin-bottom:20px}
.crumbs a{text-decoration:none}
.crumbs a:hover{color:var(--terra)}
.crumbs a:focus-visible{outline:2px dashed var(--terra-deep);outline-offset:3px}
.crumbs .sep{color:var(--ink-soft);opacity:.55}
.crumbs [aria-current]{color:var(--ink-soft)}

/* ---------- чипы на светлом (цены-чипы услуги) ---------- */
.chips-light{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.chips-light span{display:inline-block;font-size:14px;font-weight:600;padding:9px 16px;
  border:1.6px solid var(--line);color:var(--kastan);border-radius:var(--r-chip)}
.chips-light strong{font-family:var(--serif);font-weight:600;font-size:15px}

/* ---------- общие секции ---------- */
.sec-head{max-width:680px;margin-bottom:clamp(24px,4vh,44px)}
.grid-top{align-items:start}
.actions{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:30px}
.table-scroll{overflow-x:auto}

/* ---------- страница услуги ---------- */
.srv-hero{padding:clamp(118px,14vh,160px) 0 clamp(36px,6vh,70px)}
.srv-hero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap-cols);align-items:start}
@media (max-width:860px){.srv-hero-grid{grid-template-columns:1fr}}
.bodymini{max-width:280px;margin:0 auto;position:relative}
.bodymini .fig{width:100%;height:auto;display:block}
.bodymini .bm-label{fill:rgba(74,50,42,.55)}
.bodymini .bm-leader{stroke:rgba(74,50,42,.3)}
.bodymini-cap{margin-top:10px;text-align:center;font-size:11.5px;letter-spacing:.18em;
  text-transform:uppercase;font-weight:700;color:var(--terra-deep)}
@media (max-width:860px){.bodymini{max-width:220px;margin-top:34px}}
.srv-flow p{color:var(--ink-soft);max-width:42em}
.srv-flow p + p{margin-top:14px}
.srv-related{margin-top:26px;font-size:15.5px;color:var(--ink-soft);max-width:42em}

/* B2B-шаги (kancelářská): вертикальный список без трассы */
.steps-line{display:grid;gap:clamp(22px,4vh,38px);margin-top:clamp(24px,4vh,40px);max-width:640px}

/* ---------- O mně (паттерны из front.css, инner-копия) ---------- */
.about-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap-cols-lg);align-items:center}
.about-mask{position:relative;width:min(100%,380px);aspect-ratio:4/5;border-radius:var(--r-egg);overflow:hidden;justify-self:center;box-shadow:0 30px 56px -28px rgba(74,50,42,.5)}
.about-mask img{width:100%;height:100%;object-fit:cover;object-position:55% 30%;filter:sepia(.16) saturate(.9)}
.about-quote{font-family:var(--serif);font-size:clamp(22px,2.3vw,32px);line-height:1.32;margin:20px 0 22px;max-width:21em}
.about-quote em{font-style:normal;color:var(--terra)}
.about-text p{color:var(--ink-soft);max-width:36em}
.about-text p + p{margin-top:14px}
.about-sign{margin-top:26px}
.about-sign .who{font-weight:700;font-size:16px;display:block}
.about-sign .what{font-size:13.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;display:block}
.about-sign .hand{width:150px;margin-top:10px}
@media (max-width:860px){.about-grid{grid-template-columns:1fr}}

/* сертификаты — прозрачная сетка по линиям (выводится при наличии постов) */
.cert-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 clamp(22px,3vw,44px);margin-top:26px;max-width:880px}
.cert-grid .cert{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px}
.cert-grid .cert .tick{margin-top:4px}

/* ---------- Ceník: матрица услуг × длительностей ---------- */
.price-matrix{width:100%;border-collapse:collapse;margin-top:30px;max-width:880px}
.price-matrix th{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;text-align:left;color:var(--ink-soft);font-weight:700;padding:0 14px 12px}
.price-matrix th + th,.price-matrix td + td{text-align:center}
.price-matrix td{padding:16px 14px;border-top:1px solid var(--line);vertical-align:baseline}
.price-matrix tr:last-child td{border-bottom:1px solid var(--line)}
.price-matrix .srv a{font-family:var(--serif);font-size:clamp(17px,1.7vw,22px);font-weight:500;text-decoration:none}
.price-matrix .srv a:hover{color:var(--terra)}
.price-matrix .yes{color:var(--terra-deep);font-weight:700}
.price-matrix .dash{color:var(--ink-soft);opacity:.6}
.matrix-legend{margin-top:14px;font-size:13.5px;color:var(--ink-soft)}
.policy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(24px,4vw,56px);margin-top:clamp(26px,4vh,44px);max-width:1040px}
.policy-grid h3{font-size:clamp(19px,1.8vw,24px);margin-bottom:10px}
.policy-grid p{font-size:15.5px;color:var(--ink-soft);max-width:30em}
.todo-client{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;
  color:var(--terra-deep);border:1.4px dashed var(--terra-deep);padding:3px 9px;border-radius:var(--r-badge);opacity:.8}

/* ---------- FAQ ---------- */
.faq-group{margin-top:clamp(30px,5vh,52px);max-width:880px}
.faq-group > h2{font-size:clamp(24px,2.6vw,34px);margin-bottom:14px}

/* ---------- Recenze ---------- */
.rev-grid{display:flex;gap:clamp(22px,3vw,44px);margin-top:clamp(26px,4vh,46px);flex-wrap:wrap;align-items:flex-start}
.rev-grid .rev:nth-child(3n+2){transform:translateY(14px) rotate(.5deg)}
.rev-grid .rev:nth-child(3n){transform:translateY(-6px) rotate(-.6deg)}
@media (max-width:760px){.rev-grid .rev{transform:none !important}}
.rev .srv-tag{display:block;margin-top:8px;font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.rev .srv-tag a{color:var(--terra-deep);text-decoration:none}
.rev .srv-tag a:hover{color:var(--terra)}
.empty-note{border:1.4px dashed var(--line);border-radius:var(--r-card);padding:clamp(26px,4vw,46px);max-width:680px;margin-top:26px}
.empty-note h2{font-size:clamp(24px,2.6vw,34px);margin-bottom:10px}
.empty-note p{color:var(--ink-soft);max-width:34em}

/* ---------- Kontakty ---------- */
.contact-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--gap-cols-lg);align-items:start}
@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}
.chan-list{list-style:none;margin-top:8px;max-width:480px}
.chan-list li{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:baseline;padding:14px 4px;border-bottom:1px solid var(--line)}
.chan-list li:first-child{border-top:1px solid var(--line)}
.chan-list .ch{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--ink-soft)}
.chan-list a{font-weight:700;text-decoration:none}
.chan-list a:hover{color:var(--terra)}
.contact-note{margin-top:18px;font-size:15px;color:var(--ink-soft);max-width:30em}
.geo-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap-cols-lg)}
@media (max-width:860px){.geo-grid{grid-template-columns:1fr}}
.geo-hand .hand{width:240px;margin:18px 0 6px}
.vltava{width:min(100%,330px);margin-top:24px;color:var(--terra)}
.vltava .dot-fill{fill:var(--kastan)}
.vltava .p-label{font:700 11px var(--sans);letter-spacing:.08em;fill:rgba(74,50,42,.65)}
.geo-note{font-size:15px;color:var(--ink-soft);max-width:24em}

/* ---------- архив услуг: карта тела (копия паттерна front.css) ---------- */
.bodymap{padding:clamp(30px,6vh,80px) 0 clamp(70px,10vh,130px)}
.bm-head{max-width:620px}
.bm-head h2{font-size:clamp(38px,4.6vw,68px);margin:14px 0 18px}
.bm-head p{color:rgba(246,241,232,.72)}
.bm-stage{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--gap-cols);margin-top:clamp(30px,5vh,60px);align-items:center}
@media (max-width:980px){
  .bm-stage{grid-template-columns:1fr}
  .bodymap .bm-figure{max-width:330px}
  .bm-caption{display:block}
  .bm-srv .nm{font-size:21px}
}

/* ---------- прайс-превью на внутренних (копия из front.css) ---------- */
.pricing{padding:var(--sec-pad) 0}
.price-foot{margin-top:22px;font-size:15.5px;max-width:46em}
.price-foot strong{color:var(--terra-deep)}
.price-actions{margin-top:30px;display:flex;gap:28px;align-items:center;flex-wrap:wrap}

/* ---------- форма (копия .order из front.css) ---------- */
.order{padding:clamp(40px,7vh,90px) 0 clamp(70px,9vh,120px)}
.order-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--gap-cols-lg);margin-top:18px}
.order h2{font-size:clamp(38px,4.6vw,66px)}
.order-side p{color:rgba(246,241,232,.7);max-width:24em;margin-top:18px}
.order .msgr{margin-top:28px}
@media (max-width:860px){.order-grid{grid-template-columns:1fr}.f-row{grid-template-columns:1fr}}

/* ---------- 404 ---------- */
.nf{padding:clamp(140px,18vh,220px) 0 clamp(70px,10vh,120px)}
.nf .hand{width:min(340px,80%);margin:10px 0 26px}
.nf h1{font-size:clamp(38px,4.6vw,68px);max-width:14em}
.nf .code{font-family:var(--serif);font-weight:600;font-size:clamp(72px,12vw,160px);line-height:.95;
  color:transparent;-webkit-text-stroke:1.5px rgba(74,50,42,.35);user-select:none;display:block;margin-bottom:6px}
.nf-links{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-top:34px}

/* ---------- блог (editorial, заморожен) ---------- */
.prose{max-width:720px}
.prose > * + *{margin-top:16px}
.prose h2{font-size:clamp(26px,2.8vw,38px);margin-top:38px}
.prose h3{font-size:clamp(20px,2vw,26px);margin-top:30px}
.prose p,.prose li{color:var(--ink-soft)}
.prose ul,.prose ol{padding-left:1.2em}
.prose a{color:var(--terra-deep)}
.prose a:hover{color:var(--terra)}
.prose img{border-radius:var(--r-card)}
.prose blockquote{font-family:var(--serif);font-size:clamp(19px,1.9vw,24px);line-height:1.4;
  border-left:2.4px solid var(--terra);padding-left:20px;color:var(--kastan)}
.post-meta{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--ink-soft);margin-top:14px}
.post-list{list-style:none;max-width:880px}
.post-list li{border-bottom:1px solid var(--line)}
.post-list li:first-child{border-top:1px solid var(--line)}
.post-list a{display:grid;grid-template-columns:110px 1fr;gap:8px 26px;padding:22px 8px;text-decoration:none;align-items:baseline;border-radius:var(--r-srv);transition:background .3s ease}
.post-list a:hover{background:rgba(194,110,76,.07)}
.post-list .date{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--ink-soft)}
.post-list .ttl{font-family:var(--serif);font-size:clamp(20px,2vw,27px);font-weight:500;line-height:1.2}
.post-list .exc{grid-column:2;font-size:14.5px;color:var(--ink-soft);max-width:38em}
@media (max-width:640px){.post-list a{grid-template-columns:1fr}.post-list .exc{grid-column:1}}
