/* Оформление акций (Сессия 6, docs/15). Строго по макетам design/prototypes/black-friday/ и new-year/ (shot.js).
   Цвета — только переменные акции (--pm…), фирменные токены сайта не меняются (F110, F131). */
.pm-bar{display:block;background:var(--pm);color:var(--pm-t);font:600 14px/1.3 Onest,sans-serif;text-align:center;padding:9px 16px;text-decoration:none}
.pm-bar b{color:var(--pm-t);text-transform:uppercase;letter-spacing:.04em}
.pm-bar:hover{text-decoration:underline}
.pm-hero{background:var(--pm-bg);color:var(--pm-bt);font-family:Onest,sans-serif;border-radius:20px;margin:20px auto 8px;max-width:1280px;padding:40px 48px;display:grid;grid-template-columns:1.3fr 1fr;gap:32px;align-items:center;position:relative;overflow:hidden}
.pm-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:360px;height:360px;border-radius:50%;background:var(--pm);opacity:.35;pointer-events:none}
.pm-hero-main{position:relative;z-index:1}
.pm-k{display:inline-block;background:var(--pm);color:var(--pm-t);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:6px 14px}
.pm-hero h2{font-size:56px;line-height:1.02;margin:16px 0 12px;font-weight:800;letter-spacing:-.02em;color:var(--pm-bt)}
.pm-hero h2 span{color:var(--pm-acc)}
.pm-hero p{font-size:18px;color:var(--pm-bt);opacity:.86;margin:0 0 24px;max-width:560px}
.pm-btns{display:flex;flex-wrap:wrap;gap:12px}
.pm-btn{display:inline-block;background:var(--pm-btn);color:var(--pm-btn-t);font-weight:700;font-size:16px;border-radius:12px;padding:15px 26px;text-decoration:none}
.pm-btn2{display:inline-block;color:var(--pm-bt);border:1.5px solid rgba(255,255,255,.35);font-weight:600;font-size:16px;border-radius:12px;padding:14px 24px;text-decoration:none}
.pm-btn:hover,.pm-btn2:hover{filter:brightness(1.08)}
.pm-btn:focus-visible,.pm-btn2:focus-visible,.pm-bar:focus-visible{outline:3px solid var(--pm-acc);outline-offset:2px}
.pm-side{position:relative;z-index:1;background:rgba(255,255,255,.06);border-radius:16px;padding:22px}
.pm-side small{color:var(--pm-bt);opacity:.75;font-size:14px}
.pm-timer{display:flex;gap:10px;margin:12px 0 16px}
.pm-timer div{background:var(--pm-bg);border-bottom:3px solid var(--pm);border-radius:12px;padding:12px 0;width:72px;text-align:center;font-size:30px;font-weight:800;color:var(--pm-bt)}
.pm-timer b{display:block;font-weight:800}
.pm-timer i{display:block;font:500 12px Onest,sans-serif;color:var(--pm-bt);opacity:.7;font-style:normal;margin-top:2px}
.pm-side ul{margin:0;padding-left:18px;color:var(--pm-bt);opacity:.86;font-size:15px;line-height:1.6}
/* бейдж и цена со скидкой в карточке, каталоге, корзине */
.pm-badge{position:absolute;left:10px;top:10px;background:var(--pm);color:var(--pm-t);font:700 14px Onest,sans-serif;border-radius:8px;padding:5px 9px;z-index:2}
.pm-new{color:var(--pm-price)}
.pm-old{color:var(--mut);text-decoration:line-through;font-weight:500;font-size:.85em;margin-left:6px}
.pm-left{display:inline-block;font-size:13px;color:var(--pm-price);font-weight:600}
.pm-hint{background:var(--bg);border-left:3px solid var(--pm);border-radius:8px;padding:10px 14px;font-size:14px;margin:8px 0}
.pm-gift{font-size:14px;color:var(--pm-price);font-weight:600}
@media (max-width:700px){
  .pm-hero{grid-template-columns:minmax(0,1fr);margin:12px 16px;padding:26px 20px;gap:20px}
  .pm-hero h2{font-size:36px}
  .pm-hero p{font-size:16px}
  .pm-btns{display:grid}
  .pm-btn,.pm-btn2{display:block;text-align:center}
  .pm-timer div{width:auto;flex:1;font-size:24px}
  .pm-bar{font-size:13px}
}
.pm-pop{border:0;border-radius:20px;background:var(--pm-bg);color:var(--pm-bt);font-family:Onest,sans-serif;max-width:520px;padding:32px}
.pm-pop::backdrop{background:rgba(0,0,0,.5)}
.pm-pop h2{font-size:32px;line-height:1.1;margin:0 0 12px}.pm-pop h2 span{color:var(--pm-acc)}
.pm-pop p{opacity:.86;margin:0 0 20px}
.pm-pop .pm-btn2{background:transparent;font:inherit;font-weight:600;cursor:pointer}
.pm-tag{display:inline-block;background:var(--pm);color:var(--pm-t);font:700 12px/1.2 Onest,sans-serif;border-radius:6px;padding:4px 7px;margin-bottom:4px}
.pm-sum{display:grid;gap:8px;margin:4px 0 12px}
.pm-sum dd{color:var(--pm-price,var(--sale))}
.pm-code{display:flex;gap:8px;margin:8px 0}
.pm-code input{flex:1;min-width:0;min-height:44px;font:inherit;font-size:16px;border:1px solid var(--line2);border-radius:8px;padding:9px 12px;text-transform:uppercase;background:#fff;color:var(--ink)}   /* 16 px — без увеличения страницы на iPhone */
.pm-code input:focus-visible{outline:2px solid var(--teal-d);outline-offset:1px}
.pm-code-msg{font-size:13px;color:var(--red);margin:0}
.pm-ok{font-size:13px;color:var(--teal-d);margin:0}
.pm-page .pm-hero{margin:8px 0 28px}
.pm-terms{max-width:820px;margin:40px 0 64px}
.pm-terms h2{font-size:24px;margin:0 0 12px}
.pm-ended{font-size:18px}
.price-row b.pm-new,.price-row .pm-new,.cl-sum .pm-new{color:var(--pm-price)}
.price-row .pm-old{font-size:.55em;vertical-align:middle}
.price-row.pm-on .save{color:var(--pm-price)}
.pm-subscribe{max-width:520px;display:grid;gap:14px;margin:8px 0 64px}
.pm-subscribe .f{display:grid;gap:6px}
.pm-subscribe input[type=email],.pm-subscribe input[name=name]{font:inherit;font-size:16px;border:1px solid var(--line2);border-radius:10px;padding:12px 14px}
.pm-subscribe .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pm-subscribe .btn{justify-self:start}
.cl-sum .pm-tag{color:var(--pm-t);font-size:12px;justify-self:end}
.cl-sum .pm-old{font-size:13px}
.csum .pm-code .btn{width:auto;flex:none}
.csum .pm-code input{width:0;min-width:0}
.csum .pm-sum dd{color:var(--pm-price,var(--sale))}
