.promo-bell{position:relative;flex:none;display:grid;place-items:center;width:46px;height:46px;margin-right:12px;padding:0;border-radius:50%;border:1.5px solid #d7bb52;background:#fff;color:#8e1f2c;cursor:pointer;box-shadow:0 6px 18px -8px rgba(142,31,44,.55);transition:transform .2s,box-shadow .2s}
.promo-bell svg{transform-origin:50% 10%;animation:promo-ring 4.5s ease-in-out infinite}
.promo-bell:hover{transform:translateY(-1px);box-shadow:0 10px 22px -8px rgba(142,31,44,.6)}
.promo-bell:focus-visible{outline:3px solid #8e1f2c;outline-offset:3px}
.promo-dot{position:absolute;top:7px;right:8px;width:11px;height:11px;border-radius:50%;background:#d7262f;border:2px solid #fff}
.promo-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:2px solid #d7262f;opacity:0;animation:promo-pulse 2.2s ease-out infinite}
.promo-bell.is-seen .promo-dot::after{animation:none}
@keyframes promo-ring{0%,62%,100%{transform:rotate(0)}66%{transform:rotate(16deg)}70%{transform:rotate(-14deg)}74%{transform:rotate(10deg)}78%{transform:rotate(-6deg)}82%{transform:rotate(3deg)}86%{transform:rotate(0)}}
@keyframes promo-pulse{0%{transform:scale(.6);opacity:.8}100%{transform:scale(1.6);opacity:0}}
.promo-dialog{border:0;padding:0;border-radius:18px;background:#fffdfb;width:min(520px,94vw);max-height:94dvh;overflow:auto;box-shadow:0 30px 80px -20px rgba(41,43,48,.5)}
.promo-dialog::backdrop{background:rgba(24,17,15,.7)}
.promo-dialog img{display:block;width:100%;height:auto}
.promo-close{position:absolute;top:10px;right:10px;width:40px;height:40px;border:0;border-radius:50%;background:rgba(255,255,255,.92);color:#8e1f2c;font-size:28px;line-height:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.promo-close:focus-visible{outline:3px solid #8e1f2c;outline-offset:2px}
.promo-body{padding:20px 24px 24px}
.promo-label{margin:0 0 6px;font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#8e1f2c}
.promo-body h2{margin:0 0 6px;font-size:20px;line-height:1.35}
.promo-body p{margin:0;font-size:15px;line-height:1.6;color:#55565c}
.promo-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;margin-top:16px}
.promo-call{font-weight:600;color:#8e1f2c;text-decoration:underline;text-underline-offset:3px}
.promo-open{overflow:hidden}
@media(max-width:700px){.promo-bell{width:40px;height:40px;margin-right:8px}.promo-bell svg{width:19px;height:19px}.promo-dot{top:5px;right:6px;width:10px;height:10px}.promo-body{padding:16px 18px 20px}.promo-body h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.promo-bell svg,.promo-dot::after{animation:none}}
.header-inner:has(.promo-bell) .header-motto{margin-right:0}.header-inner .promo-bell{margin-left:auto}@media(max-width:430px){.header-inner:has(.promo-bell){gap:8px}.header-inner .promo-bell{width:36px;height:36px;margin-right:0}.promo-bell svg{width:18px;height:18px}.promo-dot{top:4px;right:5px;width:9px;height:9px}.header-inner:has(.promo-bell) .nav-book{padding-inline:14px;gap:0}.header-inner:has(.promo-bell) .nav-book>*{display:none}}@media(max-width:370px){.header-inner:has(.promo-bell){gap:6px}.header-inner .promo-bell{width:34px;height:34px}.header-inner:has(.promo-bell) .nav-book{padding-inline:10px}}
.header-inner .promo-bell+.nav-book{margin-left:0}
