/* ФОРПОСТ — «Решения» /solutions/… (30.10.2026): карта объектов, рисунки разделов, карточки решений. Подключается только на /solutions/ (header.php).
   Токены, кнопки, крошки и метки (.ctags/.ctag) — из css/style.css. Подсветка объектов на рисунках — те же правила, что у живого шаблона lookbooksmap
   (подложка podlozka/podlojka 18 %, метка metka и фон подписи fonpodskazki — тёмно-синие). */
.sol{padding-bottom:8px}
.sol-lead{max-width:820px;color:var(--muted);margin:6px 0 4px}
@media (min-width:901px){.sol-tags{margin:18px 0 18px}}
.ctag.is-hot{border-color:var(--navy);color:var(--navy)}
.sol-empty{color:var(--muted);margin:24px 0}

/* место под карту/рисунок: размер известен заранее (без сдвига страницы) */
.sol-map{position:relative;width:100%;aspect-ratio:var(--ar);max-height:78vh;margin:0 0 36px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fbfbfc}
.sol-map--section{max-width:min(100%,calc(62vh * var(--ar)));margin-left:auto;margin-right:auto;border-color:transparent;background:#fff}
.sol-map__canvas{position:absolute;inset:0;transform-origin:50% 50%}
.sol-map__canvas>svg{display:block;width:100%;height:100%;max-width:none}
.sol-map__ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;color:var(--muted);font-size:15px;
  background:repeating-linear-gradient(135deg,#f6f7f9 0 14px,#f2f3f6 14px 28px)}
.sol-map__ph p{margin:0;max-width:460px}
.sol-map.is-loading .sol-map__ph button{opacity:.6;pointer-events:none}
.sol-map.is-loading .sol-map__ph p::after{content:" Загружаем…"}
.sol-map.is-ready .sol-map__ph{display:none}
.sol-map__nos{position:absolute;left:0;right:0;bottom:0;margin:0;padding:10px;text-align:center;font-size:14px;background:#fff}
.sol-map__ctrl{position:absolute;left:14px;top:14px;display:flex;flex-direction:column;gap:6px;z-index:2}
.sol-map__ctrl[hidden]{display:none}
.sol-map__ctrl button{width:40px;height:40px;display:grid;place-items:center;background:#fff;border:1px solid var(--line-d);border-radius:10px;color:var(--navy);box-shadow:var(--shadow)}
.sol-map__ctrl button:hover{border-color:var(--navy)}
.sol-map__ctrl button:disabled{opacity:.4;cursor:default}
.sol-map__hint{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);margin:0;padding:6px 12px;border-radius:16px;background:rgba(15,38,92,.82);color:#fff;font-size:12.5px;white-space:nowrap;pointer-events:none;z-index:2;transition:opacity .4s}
.sol-map__hint.is-off{opacity:0}
.sol-hint-touch{display:none}
@media (hover:none){.sol-hint-desk{display:none}.sol-hint-touch{display:inline}}
.sol-map--main.is-ready .sol-map__canvas{cursor:grab}
.sol-map--main.is-ready .sol-map__canvas:active{cursor:grabbing}

/* объекты на рисунке */
.sol-map svg *{pointer-events:none}
.sol-map svg .sol-obj [id^="podskazka"],.sol-map svg .sol-obj [id^="podskazka"] *,.sol-map svg .sol-obj [id^="metka"],.sol-map svg .sol-obj [id^="metka"] *{pointer-events:all;cursor:pointer}
.sol-map svg .sol-obj{outline:none}
.sol-map svg .sol-obj g[id^="podlozka"] path,.sol-map svg .sol-obj g[id^="podlojka"] path,.sol-map svg .sol-obj path[id^="podlojka"],.sol-map svg .sol-obj path[id^="podlozka"]{fill-opacity:0;transition:fill-opacity .15s}
.sol-map svg .sol-obj.is-hot g[id^="podlozka"] path,.sol-map svg .sol-obj.is-hot g[id^="podlojka"] path,.sol-map svg .sol-obj.is-hot path[id^="podlojka"],.sol-map svg .sol-obj.is-hot path[id^="podlozka"]{fill-opacity:.18}
.sol-map svg .sol-obj.is-hot [id^="metka"] path{fill:#0f265c}
.sol-map svg .sol-obj.is-hot [id^="podskazka"] [id^="fonpodskazki"] path,.sol-map svg .sol-obj.is-hot [id^="podskazka"] path[id^="fonpodskazki"]{fill:#0f265c;fill-opacity:1}

/* отрасли и объекты списком */
.sol-dirs{margin:0 0 8px}
.sol-dirs>h2{margin-bottom:18px}
.sol-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}
.sol-dir{display:flex;flex-direction:column;gap:10px;padding:20px 22px;border:1px solid var(--line);border-radius:14px;background:#fff;transition:border-color .15s,box-shadow .15s}
.sol-dir.is-hot,.sol-dir:hover{border-color:var(--navy);box-shadow:var(--shadow)}
.sol-dir h3{font-size:18px;margin:0}
.sol-dir h3 a:hover{color:var(--red)}
.sol-dir ul{list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14.5px;color:var(--muted)}
.sol-dir li a{display:inline-block;padding:1px 0}
.sol-dir li a:hover{color:var(--red)}
.sol-dir .link{margin-top:auto;font-size:14.5px}
.sol-dir__n{margin:0;font-size:13.5px;color:var(--muted)}

/* раздел с решениями: карточки + форма */
.sol-cards{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start;margin:6px 0 24px}
.sol-cards__list{display:flex;flex-direction:column;gap:18px}
.sol-card{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px 22px 22px}
.sol-card__head{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.sol-card__ico{width:36px;height:36px;flex:none;object-fit:contain}
.sol-card__name{flex:1;margin:0;font-size:20px;font-weight:600}
.sol-card__name a:hover{color:var(--red)}
.sol-card__btn{flex:none}
.sol-card__body{display:grid;grid-template-columns:306px minmax(0,1fr);gap:26px;align-items:center}
.sol-card__img{background:var(--bg-soft2);border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;aspect-ratio:3/2}
.sol-card__img img{width:100%;height:100%;object-fit:contain}
.sol-card__text{font-size:15px;line-height:1.6}
.sol-card__text p:last-child{margin-bottom:0}
.sol-card__mbtn{display:none;margin-top:16px}
.sol-card__foot{margin-top:18px}
.sol-card--one .sol-card__body{grid-template-columns:minmax(0,420px) minmax(0,1fr);align-items:start}
.sol-form{position:sticky;top:16px;padding:24px;border-radius:14px;background:var(--bg-soft);display:flex;flex-direction:column;gap:12px}
.sol-form h2{font-size:22px;margin:0}
.sol-form p{margin:0;color:var(--muted);font-size:14.5px}
.sol-form__ph{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--navy);font-weight:500}
.sol-form__ph:hover{color:var(--red)}
.sol-soon{padding:40px 0 24px}
.sol-soon h2{font-size:24px}
.sol-soon p{color:var(--muted)}
.sol-back{margin:8px 0 48px}
.sol-back .link{gap:4px}

@media (max-width:1100px){.sol-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sol-cards{grid-template-columns:1fr}.sol-form{position:static}.sol-card__body{grid-template-columns:240px minmax(0,1fr)}}
@media (max-width:767px){
  .sol-map--main{aspect-ratio:auto;height:min(60vh,520px);max-height:none}
  .sol-map__hint{white-space:normal;width:max-content;max-width:calc(100% - 24px);text-align:center}
  .sol-map--section{aspect-ratio:var(--ar-sm,var(--ar));max-width:100%;max-height:none;margin-left:calc(-1*var(--gut));margin-right:calc(-1*var(--gut));border-radius:0}
  .sol-grid{grid-template-columns:1fr}
  .sol-card{padding:16px}
  .sol-card__head{padding-bottom:12px;margin-bottom:14px}
  .sol-card__btn{display:none}
  .sol-card__mbtn{display:block}
  .sol-card__name{font-size:18px}
  .sol-card__body,.sol-card--one .sol-card__body{grid-template-columns:1fr;gap:14px}
  .sol-card__img{max-height:200px}
}
@media (prefers-reduced-motion:reduce){.sol-map svg .sol-obj path{transition:none}}
