/* ASLTIP Elementor event widgets (28 Sep 2026). Structure only - colours, sizes and spacing come from each widget's
   Style tab. Two-class selectors so Elementor's global kit `button` rule never wins. */

/* Video pause */
.elementor-widget-asltip-video-pause .asltip-vp { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box;
  padding: 0; min-width: 0; cursor: pointer; line-height: 1; letter-spacing: 0; text-transform: none; transition: background-color .2s ease, color .2s ease; }
.elementor-widget-asltip-video-pause .asltip-vp[hidden] { display: none; }
.elementor-widget-asltip-video-pause .asltip-vp span { display: inline-flex; }
.elementor-widget-asltip-video-pause .asltip-vp .asltip-vp__play,
.elementor-widget-asltip-video-pause .asltip-vp.is-paused .asltip-vp__pause { display: none; }
.elementor-widget-asltip-video-pause .asltip-vp.is-paused .asltip-vp__play { display: inline-flex; }
/* In the editor show it even though no video is playing yet, so it can be selected and styled */
.elementor-editor-active .elementor-widget-asltip-video-pause .asltip-vp[hidden] { display: inline-flex; opacity: .6; }

/* Add to calendar */
.elementor-widget-asltip-add-to-calendar .asltip-cal { position: relative; display: inline-block; }
.elementor-widget-asltip-add-to-calendar .asltip-cal__btn { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none;
  transition: background-color .2s ease, color .2s ease; }
.elementor-widget-asltip-add-to-calendar .asltip-cal__btn::-webkit-details-marker { display: none; }
.elementor-widget-asltip-add-to-calendar .asltip-cal__chev { transition: transform .2s ease; }
.elementor-widget-asltip-add-to-calendar .asltip-cal[open] .asltip-cal__chev { transform: rotate(180deg); }
.elementor-widget-asltip-add-to-calendar .asltip-cal__menu { position: absolute; top: calc(100% + 8px); left: 0; z-index: 50; display: grid; }
.elementor-widget-asltip-add-to-calendar .asltip-cal__item { display: flex; align-items: center; gap: 10px; text-decoration: none; transition: background-color .15s ease, color .15s ease; }
.elementor-widget-asltip-add-to-calendar .asltip-cal--inline { display: flex; flex-wrap: wrap; }
.elementor-widget-asltip-add-to-calendar .asltip-cal--inline .asltip-cal__item { display: inline-flex; }
@media (prefers-reduced-motion: reduce) { .elementor-widget-asltip-add-to-calendar .asltip-cal__chev { transition: none; } }

/* Sticky bar: fixed to the bottom, slides in when the script decides it should show */
.elementor-widget-asltip-sticky-bar .asltip-sb { position: fixed; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: space-between;
  box-sizing: border-box; transform: translateY(110%); visibility: hidden; transition: transform .25s ease, visibility 0s linear .25s; }
.elementor-widget-asltip-sticky-bar .asltip-sb.is-on { transform: none; visibility: visible; transition: transform .25s ease; }
.elementor-widget-asltip-sticky-bar .asltip-sb.is-editor { position: relative; transform: none; visibility: visible; }
.elementor-widget-asltip-sticky-bar .asltip-sb__t { display: flex; flex-direction: column; margin: 0; min-width: 0; }
.elementor-widget-asltip-sticky-bar .asltip-sb__btn { flex: none; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
  transition: background-color .2s ease, color .2s ease; }
@media (prefers-reduced-motion: reduce) { .elementor-widget-asltip-sticky-bar .asltip-sb, .elementor-widget-asltip-sticky-bar .asltip-sb.is-on { transition: none; } }

/* Chat FAQ: grey question pills, blue answer bubbles (look set on the Style tab; this is structure only) */
.elementor-widget-asltip-chat-faq .asltip-faq { display: flex; flex-direction: column; margin: 0 auto; }
.elementor-widget-asltip-chat-faq .asltip-faq__q { display: block; width: fit-content; cursor: pointer; list-style: none; transition: background-color .2s ease, color .2s ease; }
.elementor-widget-asltip-chat-faq .asltip-faq__q::-webkit-details-marker { display: none; }
.elementor-widget-asltip-chat-faq .asltip-faq__q::after { content: "+"; font-weight: 700; }
.elementor-widget-asltip-chat-faq .asltip-faq__item[open] .asltip-faq__q::after { content: "\2212"; }
.elementor-widget-asltip-chat-faq .asltip-faq__a { width: fit-content; }
.elementor-widget-asltip-chat-faq .asltip-faq__a > :last-child { margin-bottom: 0; }
.elementor-widget-asltip-chat-faq .asltip-faq__a p { margin: 0 0 8px; }
.asltip-faq-anim-yes .asltip-faq__item[open] .asltip-faq__a { animation: asltip-faq-in .25s ease; }
@keyframes asltip-faq-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .asltip-faq-anim-yes .asltip-faq__item[open] .asltip-faq__a { animation: none; } }
