/* TWV Media: the sticky promotion bar.
   One bar per page, dropped in just before the footer. It stays out of the way
   until the reader has committed to the page, gets out of the way again near
   the booking section, and can be closed for good. See README, "The sticky bar". */
.ctabar{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--ink);color:#fff;
  border-top:3px solid var(--red);box-shadow:0 -14px 40px rgba(20,22,26,.22);
  transform:translateY(110%);transition:transform .45s cubic-bezier(.22,1,.36,1);
  padding-bottom:env(safe-area-inset-bottom,0px)}
.ctabar.on{transform:translateY(0)}
.ctabar-in{display:flex;align-items:center;gap:20px;padding:14px 0}
.ctabar-ico{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(255,255,255,.08);display:grid;place-items:center}
.ctabar-ico svg{width:23px;height:23px;fill:none;stroke:var(--red);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ctabar-copy{flex:1;min-width:0}
.ctabar-copy strong{display:block;font-size:1rem;line-height:1.25}
.ctabar-copy span{display:block;font-size:.86rem;color:#a9aaae;margin-top:2px}
.ctabar-form{flex:none;display:flex;gap:8px;align-items:stretch}
.ctabar-form input{width:250px;font:inherit;font-size:.94rem;padding:0 14px;border-radius:4px;border:1.5px solid #4c515a;background:#2b2f36;color:#fff}
.ctabar-form input::placeholder{color:#9a9ea6}
.ctabar-form input:focus{outline:none;border-color:var(--red);background:#33383f}
.ctabar .btn{flex:none;white-space:nowrap;display:inline-flex;align-items:center}
.ctabar .btn-ghost{border-color:rgba(255,255,255,.35);color:#fff}
.ctabar .btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.ctabar-x{flex:none;width:34px;height:34px;border-radius:50%;border:0;background:transparent;color:#8d8f94;cursor:pointer;display:grid;place-items:center;transition:background .2s,color .2s}
.ctabar-x:hover{background:rgba(255,255,255,.1);color:#fff}
.ctabar-x svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
body.ctabar-on{padding-bottom:var(--ctabar-h,0px)}
.ctabar-copy .ctabar-short{display:none}
@media(max-width:760px){
  .ctabar-in{gap:10px;padding:12px 18px;flex-wrap:wrap;text-align:center}
  .ctabar-copy .ctabar-long{display:none}
  .ctabar-copy .ctabar-short{display:block}
  .ctabar-ico{display:none}
  .ctabar-copy{flex:1 1 100%;order:1;padding:0 26px}
  .ctabar-copy strong{font-size:.9rem}
  .ctabar-form{order:2;flex:1 1 100%;gap:8px;align-items:stretch;justify-content:center;max-width:430px;margin:0 auto}
  .ctabar-form input{flex:1;width:auto;min-width:0;padding-top:0;padding-bottom:0;min-height:44px;text-align:center}
  .ctabar-form .btn{flex:none;display:flex;align-items:center;min-height:44px;padding-top:0;padding-bottom:0}
  .ctabar-copy span{font-size:.8rem;margin-top:1px}
  .ctabar .btn{order:2;flex:1 1 auto;text-align:center}
  .ctabar-x{order:0;position:absolute;right:12px;top:10px}
}
@media(max-width:345px){
  .ctabar-copy .ctabar-long,.ctabar-copy .ctabar-short{display:none}
  .ctabar-copy strong{font-size:.92rem}
}
@media(prefers-reduced-motion:reduce){.ctabar{transition:none}}
@media print{.ctabar{display:none}}
