/* Every rule is component-scoped so booking, gallery and accessibility controls retain their styles. */
.tvr-pa, .tvr-pa * { box-sizing: border-box !important; }
.tvr-pa[hidden], .tvr-pa [hidden], audio.tvr-pa-audio { display: none !important; }
.tvr-pa {
  position: fixed !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  bottom: calc(var(--tvr-pa-bottom, 18px) + env(safe-area-inset-bottom)) !important;
  top: auto !important; z-index: 99990 !important;
  width: 196px !important; max-width: calc(100% - 84px) !important;
  margin: 0 !important; padding: 0 !important;
  color: #fbf5ed !important; background: #07263b !important;
  border: 1px solid rgba(7,38,59,.16) !important; border-radius: 25px !important;
  box-shadow: 0 2px 8px rgba(7,38,59,.24) !important;
  font: 500 14px/1.35 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  text-align: left !important; letter-spacing: normal !important;
  isolation: isolate; touch-action: manipulation;
}
.tvr-pa button {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  min-width: 44px !important; min-height: 44px !important; width: auto !important; height: auto !important;
  margin: 0 !important; padding: 10px !important; border: 0 !important; border-radius: 12px !important;
  background: transparent !important; color: #fbf5ed !important; box-shadow: none !important;
  font: 600 14px/1.2 system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  letter-spacing: normal !important; text-transform: none !important; text-decoration: none !important; cursor: pointer !important;
  transition: background-color .15s ease, color .15s ease !important;
}
.tvr-pa button:hover { background: #234d62 !important; color: #fbf5ed !important; }
.tvr-pa button:focus-visible, .tvr-pa input:focus-visible { outline: 2px solid #8bd5e7 !important; outline-offset: 2px !important; }
.tvr-pa button:disabled { cursor: wait !important; opacity: .65 !important; }
.tvr-pa .tvr-pa-icon { display: block !important; width: 20px !important; height: 20px !important; flex: 0 0 20px !important; overflow: visible !important; }
.tvr-pa .tvr-pa-sr { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.tvr-pa .tvr-pa-close { position: absolute !important; top: 2px !important; right: 2px !important; z-index: 2 !important; }
.tvr-pa .tvr-pa-close .tvr-pa-icon { width: 18px !important; height: 18px !important; flex-basis: 18px !important; }
.tvr-pa .tvr-pa-launch { width: 100% !important; padding: 2px 48px 2px 8px !important; gap: 8px !important; min-height: 48px !important; border-radius: 24px !important; justify-content: flex-start !important; color: #fbf5ed !important; font-size: 13px !important; }
.tvr-pa .tvr-pa-launch-disc { display: inline-flex !important; align-items: center !important; justify-content: center !important; flex: 0 0 28px !important; width: 28px !important; height: 28px !important; color: #fbf5ed !important; }
.tvr-pa .tvr-pa-launch-copy { white-space: nowrap !important; text-align: left !important; }
.tvr-pa .tvr-pa-launch-copy small { display: block !important; margin-top: 2px !important; color: #8bd5e7 !important; font: 400 10px/1.2 system-ui,sans-serif !important; }
.tvr-pa.tvr-pa-expanded { width: 248px !important; border-radius: 14px !important; background: #fbf5ed !important; color: #07263b !important; box-shadow: 0 8px 24px rgba(7,38,59,.18) !important; }
.tvr-pa-expanded button { color: #407386 !important; }
.tvr-pa-expanded button:hover { background: #e3edf0 !important; color: #07263b !important; }
.tvr-pa-expanded button:focus-visible, .tvr-pa-expanded input:focus-visible { outline-color: #407386 !important; }
.tvr-pa-content { min-width: 0 !important; }
.tvr-pa-player { width: 100% !important; max-width: 100% !important; padding: 6px 10px 4px !important; }
.tvr-pa-heading, .tvr-pa-actions { display: flex !important; align-items: center !important; gap: 4px !important; }
.tvr-pa-heading { justify-content: space-between !important; padding-right: 38px !important; margin-bottom: 2px !important; }
.tvr-pa-label { display: block !important; min-width: 0 !important; flex: 1 1 auto !important; }
.tvr-pa-title { display: block !important; font-size: 13px !important; font-weight: 650 !important; line-height: 1.3 !important; overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important; }
.tvr-pa-label small { display: block !important; margin-top: 3px !important; font: 400 11px/1.35 system-ui, sans-serif !important; color: #47616e !important; }
.tvr-pa .tvr-pa-minimize { flex: 0 0 44px !important; align-self: flex-start !important; }
.tvr-pa .tvr-pa-toggle { background: #07263b !important; color: #fbf5ed !important; width: 44px !important; height: 44px !important; flex: 0 0 44px !important; border-radius: 50% !important; box-shadow: 0 2px 4px rgba(7,38,59,.12) !important; }
.tvr-pa .tvr-pa-toggle:hover { background: #234d62 !important; color: #fbf5ed !important; }
.tvr-pa .tvr-pa-toggle .tvr-pa-icon { width: 22px !important; height: 22px !important; flex-basis: 22px !important; }
.tvr-pa .tvr-pa-rewind { gap: 4px !important; padding: 8px 5px !important; font-size: 12px !important; }
.tvr-pa .tvr-pa-time { margin-left: auto !important; color: #47616e !important; white-space: nowrap !important; font: 500 12px/1.2 system-ui, sans-serif !important; font-variant-numeric: tabular-nums !important; }
.tvr-pa .tvr-pa-progress { -webkit-appearance: none !important; appearance: none !important; display: block !important; width: 100% !important; height: 44px !important; min-height: 44px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: transparent !important; cursor: pointer !important; }
.tvr-pa .tvr-pa-progress::-webkit-slider-runnable-track { height: 4px; border-radius: 2px; background: linear-gradient(to right,#407386 var(--tvr-pa-played,0%),rgba(7,38,59,.15) var(--tvr-pa-played,0%)); }
.tvr-pa .tvr-pa-progress::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; margin-top: -5px; border: 2px solid #fbf5ed; border-radius: 50%; background: #07263b; }
.tvr-pa .tvr-pa-progress::-moz-range-track { height: 4px; border-radius: 2px; background: rgba(7,38,59,.15); }
.tvr-pa .tvr-pa-progress::-moz-range-progress { height: 4px; border-radius: 2px; background: #407386; }
.tvr-pa .tvr-pa-progress::-moz-range-thumb { width: 10px; height: 10px; border: 2px solid #fbf5ed; border-radius: 50%; background: #07263b; }
.tvr-pa-status { display: block !important; padding: 2px 0 5px !important; font: 400 12px/1.35 system-ui, sans-serif !important; color: #47616e !important; }
.tvr-pa-status:empty { display: none !important; }
.tvr-pa-compact .tvr-pa-heading, .tvr-pa-compact .tvr-pa-details, .tvr-pa-compact .tvr-pa-rewind { display: none !important; }
.tvr-pa.tvr-pa-compact .tvr-pa-player { width: 100% !important; padding: 2px 4px !important; }
.tvr-pa.tvr-pa-compact .tvr-pa-actions { padding-right: 44px !important; gap: 4px !important; }
.tvr-pa.tvr-pa-compact .tvr-pa-toggle { background: transparent !important; box-shadow: none !important; }
.tvr-pa.tvr-pa-compact .tvr-pa-toggle:hover { background: #234d62 !important; }
.tvr-pa.tvr-pa-compact .tvr-pa-time { color: #fbf5ed !important; font-size: 11px !important; }
.tvr-pa.tvr-pa-compact .tvr-pa-duration { display: none !important; }
.tvr-pa.tvr-pa-compact::after { content: ''; position: absolute; left: 18px; right: 18px; bottom: 0; height: 2px; background: linear-gradient(to right,#8bd5e7 var(--tvr-pa-played,0%),transparent var(--tvr-pa-played,0%)); pointer-events: none; }
.tvr-pa.tvr-pa-gallery { top: max(var(--tvr-pa-top, 64px), calc(env(safe-area-inset-top) + 54px)) !important; bottom: auto !important; right: max(18px, env(safe-area-inset-right)) !important; z-index: 2147483000 !important; }
@media (min-width: 768px) {
  .tvr-pa.tvr-pa { display: flex !important; left: var(--tvr-pa-left, 84px) !important; right: auto !important; top: auto !important; bottom: calc(var(--tvr-pa-bottom, 16px) + env(safe-area-inset-bottom)) !important; max-height: calc(100vh - 24px) !important; overflow-y: auto !important; }
  .tvr-pa .tvr-pa-content { flex: 1 1 auto !important; }
}
@media (max-width: 767px) {
  .tvr-pa { right: max(12px, env(safe-area-inset-right)) !important; max-width: calc(100% - 84px) !important; }
  .tvr-pa.tvr-pa-gallery { top: max(var(--tvr-pa-top, 58px), calc(env(safe-area-inset-top) + 50px)) !important; right: max(12px, env(safe-area-inset-right)) !important; }
  .tvr-pa-heading { gap: 2px !important; }
  .tvr-pa-label small { font-size: 11px !important; }
}
@media (prefers-reduced-motion: reduce) { .tvr-pa button { transition: none !important; } }
/* Hidden states win over the theme's ID-scoped gallery button rules. */
body .tvr-pa.tvr-pa[hidden], body .tvr-pa.tvr-pa [hidden],
#fullscreen-swiper .tvr-pa.tvr-pa[hidden], #fullscreen-swiper .tvr-pa.tvr-pa [hidden],
#abe-gallery-modal .tvr-pa.tvr-pa[hidden], #abe-gallery-modal .tvr-pa.tvr-pa [hidden] { display: none !important; }
