/* Калькулятор поездки на карте */
.pm{display:grid;grid-template-columns:minmax(300px,400px) 1fr;gap:20px;margin-top:22px;align-items:stretch}
.pm-panel{background:#fff;border:1px solid rgba(184,111,51,.22);border-radius:26px;padding:22px;box-shadow:0 14px 40px -24px rgba(43,24,16,.35)}
.pm-panel h3{font:600 1.6rem "Cormorant Garamond",Georgia,serif;color:#2B1810;margin:0 0 4px}
.pm-sub{margin:0 0 16px;color:#6b5547;font-size:.92rem;line-height:1.5}
.pm-pt{display:grid;grid-template-columns:34px 1fr auto;gap:8px;align-items:center;padding:8px;margin-bottom:8px;border:1px solid rgba(184,111,51,.22);border-radius:16px;background:#fff;transition:border-color .2s,box-shadow .2s}
.pm-pt.is-active{border-color:#B86F33;box-shadow:0 0 0 3px rgba(184,111,51,.14)}
.pm-pt i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#B86F33;color:#fff;font:800 .85rem Mulish,sans-serif;font-style:normal}
.pm-pt[data-pt="B"] i{background:#2B1810}
.pm-pt input{min-width:0;border:0;background:transparent;font:600 .95rem Mulish,sans-serif;color:#2B1810;padding:8px 2px;outline:none}
.pm-pt input::placeholder{color:#9a8574;font-weight:500}
.pm-pt button{border:1px solid rgba(184,111,51,.3);background:#FBF5EC;color:#8F4A17;border-radius:999px;padding:7px 12px;font:700 .8rem Mulish,sans-serif;cursor:pointer}
.pm-pt button:hover{background:#F6EBDD}
.pm-seg{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.pm-seg button[data-r="2"]{flex:1 1 100%}
.pm-seg button{flex:1;min-height:42px;padding:0 10px;border-radius:999px;border:1px solid rgba(43,24,16,.2);background:none;color:#2B1810;font:700 .9rem Mulish,sans-serif;cursor:pointer}
.pm-seg button.on{background:#B86F33;color:#fff;border-color:#B86F33}
.pm-hint{min-height:1.3em;margin:0 0 10px;color:#8a6a52;font-size:.86rem}
.pm-res{margin-top:6px;padding:18px;border-radius:20px;background:linear-gradient(160deg,#FBF5EC,#F6EBDD);border:1px solid rgba(184,111,51,.2)}
.pm-res.is-ok{background:linear-gradient(160deg,#FFFAF2,#F8EBD9)}
.pm-res.is-err{border-color:rgba(190,60,40,.35)}
.pm-empty{display:grid;gap:4px;color:#4d3b30}.pm-empty b{color:#2B1810}.pm-empty span{font-size:.9rem;color:#6b5547}
.pm-route{display:grid;gap:6px;margin-bottom:10px;font-size:.84rem;color:#6b5547}
.pm-route span{display:grid;grid-template-columns:22px 1fr;gap:8px;align-items:start;line-height:1.35}
.pm-route i{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:#B86F33;color:#fff;font:800 .7rem Mulish,sans-serif;font-style:normal}
.pm-route i.b{background:#2B1810}
.pm-price{font:600 clamp(2.4rem,5vw,3.2rem) "Cormorant Garamond",Georgia,serif;color:#A9622B;line-height:1.05}
.pm-price small{font:700 1rem Mulish,sans-serif;color:#8F4A17;letter-spacing:.04em}
.pm-price--call{font-size:1.7rem}
.pm-text{margin:8px 0 0;color:#4d3b30;line-height:1.55;font-size:.95rem}
.pm-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pm-meta span{padding:4px 10px;border-radius:999px;background:rgba(184,111,51,.1);border:1px solid rgba(184,111,51,.22);font-size:.8rem;font-weight:700;color:#8F4A17}
.pm-disc{margin:12px 0 0;color:#8a6a52;font-size:.82rem;line-height:1.45}
.pm-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.pm-cta .ph-btn{box-sizing:border-box;max-width:100%;height:auto;min-height:44px;padding:10px 18px;font-size:.9rem;line-height:1.25;white-space:normal;text-align:center}
.pm-cta [data-rex]{width:100%}
.pm-consent{display:grid;gap:10px;color:#4d3b30;font-size:.9rem;line-height:1.5}.pm-consent b{color:#2B1810}.pm-consent a{color:#B86F33;font-weight:700}
.pm-reset{margin-top:12px;border:0;background:none;color:#8a6a52;font:700 .85rem Mulish,sans-serif;text-decoration:underline;cursor:pointer;padding:4px 0}
.pm-map{position:relative;min-height:560px;border-radius:26px;overflow:hidden;border:1px solid rgba(184,111,51,.22);background:#EFE3D2;box-shadow:0 14px 40px -24px rgba(43,24,16,.35)}
.pm-canvas{position:absolute;inset:0}
.pm-map.is-loading::after{content:"Загружаю карту…";position:absolute;inset:0;display:grid;place-items:center;color:#6b5547;font-weight:700}
.pm-map.is-failed::after{content:"Карта не загрузилась. Введите адреса в полях слева или позвоните нам.";position:absolute;inset:0;display:grid;place-items:center;padding:24px;text-align:center;color:#6b5547;font-weight:700}
.pm-legend{position:absolute;left:12px;bottom:12px;z-index:2;padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.92);border:1px solid rgba(184,111,51,.25);font-size:.78rem;font-weight:700;color:#8F4A17;pointer-events:none}
@media(max-width:900px){.pm{grid-template-columns:1fr}.pm-map{min-height:380px;order:-1}}

/* ---- маршрут по дорогам и бусик PetHelp ---- */
.pm [hidden]{display:none!important}
.pm-top{position:absolute;top:12px;right:12px;z-index:3;display:grid;gap:8px;justify-items:end;pointer-events:none}
.pm-play{pointer-events:auto;height:38px;padding:0 18px;border-radius:999px;border:1px solid rgba(184,111,51,.4);background:rgba(255,255,255,.96);color:#8F4A17;font:800 .82rem Mulish,sans-serif;cursor:pointer;box-shadow:0 8px 20px -10px rgba(43,24,16,.5)}
.pm-play:hover{background:#FBF5EC}
.pm-play:focus-visible{outline:3px solid rgba(184,111,51,.5);outline-offset:2px}
.pm-legend2{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px 14px;padding:7px 13px;border-radius:999px;background:rgba(255,255,255,.93);border:1px solid rgba(184,111,51,.25);font:700 .76rem Mulish,sans-serif;color:#6b4a35}
.pm-legend2 span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.pm-legend2 i{width:18px;height:6px;border-radius:3px;background:#9C6B45;display:inline-block}
.pm-legend2 i.b{background:#FF5A00}

.pm-bus{position:absolute;left:-50px;top:-83px;width:100px;display:flex;flex-direction:column;align-items:center;pointer-events:none;filter:drop-shadow(0 6px 5px rgba(43,24,16,.28))}
.pm-bus-tag{position:relative;display:block;margin-bottom:6px;padding:3px 10px 3px 11px;border-radius:999px;background:#111;color:#fff;font:800 10px/1.25 Mulish,sans-serif;letter-spacing:.12em;white-space:nowrap}
.pm-bus-tag::after{content:"";position:absolute;left:50%;bottom:-4px;width:8px;height:8px;margin-left:-4px;background:#111;transform:rotate(45deg);border-radius:0 0 2px 0}
.pm-bus-tag .t-go b{display:inline-block;font-weight:800}
.pm-bus-tag .t-go b.o{color:#F26A0F}
.pm-bus-tag .t-end{display:none;letter-spacing:.04em;color:#FF9A4D}
.pm-bus.is-arrived .pm-bus-tag .t-go{display:none}
.pm-bus.is-arrived .pm-bus-tag .t-end{display:inline}
.pm-van-box{display:block;line-height:0}
.pm-van{display:block;overflow:visible}
.pm-bus--l .pm-van{transform:scaleX(-1)}
.pm-wh{transform-box:fill-box;transform-origin:center}
.pm-bus.is-moving .pm-wh{animation:pmSpin .45s linear infinite}
.pm-bus.is-moving .pm-van-box{animation:pmBob .5s ease-in-out infinite}
.pm-bus.is-moving .pm-bus-tag .t-go b{animation:pmWave .9s ease-in-out infinite;animation-delay:calc(var(--i)*.07s)}
.pm-bus--l.is-moving .pm-bus-tag .t-go b{animation-delay:calc((6 - var(--i))*.07s)}
@keyframes pmSpin{to{transform:rotate(360deg)}}
@keyframes pmBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5px)}}
@keyframes pmWave{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.5px)}}
@media(prefers-reduced-motion:reduce){.pm-bus *{animation:none!important}}
@media(max-width:600px){.pm-legend2{font-size:.7rem;padding:6px 10px}.pm-play{height:34px;padding:0 14px}}

/* ---- подзаголовок блока и счётчик цены ---- */
.pm-note{margin:10px 0 0;max-width:620px;color:#7a6252;font-size:.9rem;line-height:1.5}
.pm-price{font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1}
.pm-price.is-pop{animation:pmPop .7s ease-out}
@keyframes pmPop{0%{transform:scale(1)}35%{transform:scale(1.07);color:#C8691F}100%{transform:scale(1)}}
.pm-price{transform-origin:left center}
.pm-meter{pointer-events:none;display:flex;align-items:baseline;gap:10px;padding:8px 16px;border-radius:16px;background:#2B1810;color:#FBF5EC;box-shadow:0 10px 24px -12px rgba(43,24,16,.6)}
.pm-meter .lbl{font:800 .64rem Mulish,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#E8C9A3}
.pm-meter b{font:600 1.45rem/1 "Cormorant Garamond",Georgia,serif;font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;white-space:nowrap}
.pm-meter.is-final b{color:#FFD9A8}
@media(prefers-reduced-motion:reduce){.pm-price.is-pop{animation:none}}
@media(max-width:600px){.pm-meter{padding:6px 12px}.pm-meter b{font-size:1.2rem}}

/* ---- пояснение под калькулятором ---- */
.pm-legal{max-width:860px;margin:18px 0 0;padding:12px 18px;border-left:3px solid #B86F33;border-radius:0 14px 14px 0;background:rgba(184,111,51,.07);color:#6b5547;font-size:.88rem;line-height:1.6}
.pm-legal b{color:#2B1810}
.pm-legal a{color:#8F4A17;font-weight:800;white-space:nowrap;text-decoration:underline;text-underline-offset:2px}
