#shocko-popup[hidden] { display: none !important; }
#shocko-popup { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; box-sizing: border-box; padding: 16px; }
#shocko-popup .shocko-popup__backdrop { position: absolute; inset: 0; background: rgba(27, 0, 0, .72); }
#shocko-popup .shocko-popup__panel { position: relative; width: min(780px, 100%); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); overflow: auto; background: #870000; box-shadow: 0 20px 60px rgba(0, 0, 0, .38); border-radius: 12px; }
#shocko-popup .shocko-popup__close { position: absolute; z-index: 2; top: 10px; right: 10px; width: 42px; height: 42px; border: 0; border-radius: 50%; background: #fff; color: #750000; font: 32px/1 Arial, sans-serif; cursor: pointer; }
#shocko-popup .shocko-popup__close:focus-visible, #shocko-popup .shocko-popup__cta:focus-visible { outline: 3px solid #ffde60; outline-offset: 2px; }
#shocko-popup .shocko-popup__image { display: block; width: 100%; height: auto; }
#shocko-popup .shocko-popup__cta { position: absolute; z-index: 1; left: 50%; bottom: 7%; transform: translateX(-50%); box-sizing: border-box; width: min(220px, 60%); min-width: 160px; padding: 14px 24px; border-radius: 7px; background: #fff; color: #900000; font: 700 20px/1.2 Arial, sans-serif; text-align: center; text-decoration: none; }
#shocko-popup .shocko-popup__cta:hover { background: #fff2d8; color: #700000; text-decoration: none; }
@media (max-width: 600px) {
  #shocko-popup { padding: 10px; }
  #shocko-popup .shocko-popup__panel { max-height: calc(100vh - 20px); max-height: calc(100dvh - 20px); border-radius: 8px; }
  #shocko-popup .shocko-popup__close { top: 6px; right: 6px; width: 36px; height: 36px; font-size: 28px; }
  #shocko-popup .shocko-popup__cta { padding: 10px 16px; font-size: 17px; }
}
@media (prefers-reduced-motion: no-preference) {
  #shocko-popup:not([hidden]) .shocko-popup__panel { animation: shocko-popup-in .22s ease-out both; }
  @keyframes shocko-popup-in { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
}

/* Optional native plugin appearance settings; centered variant preserves client's exact look. */
#shocko-popup { isolation: isolate; }
#shocko-popup, #shocko-popup * { box-sizing: border-box; }
#shocko-popup .shocko-popup__panel { width: min(var(--shocko-popup-width,780px), 100%); }
#shocko-popup .shocko-popup__picture { display:block; width:100%; }
#shocko-popup.shocko-popup--left { justify-content: flex-start; align-items: flex-end; }
#shocko-popup.shocko-popup--right { justify-content: flex-end; align-items: flex-end; }
#shocko-popup.shocko-popup--none:not([hidden]) .shocko-popup__panel { animation: none; }
#shocko-popup.shocko-popup--slide:not([hidden]) .shocko-popup__panel { animation-name: shocko-popup-slide; }
@keyframes shocko-popup-slide { from { opacity: 0; transform: translateY(35px); } to { opacity: 1; transform: none; } }
#shocko-popup.shocko-popup--unfold:not([hidden]) .shocko-popup__panel { animation-name: shocko-popup-unfold; }
@keyframes shocko-popup-unfold { from { opacity: 0; transform: scaleY(.2); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { #shocko-popup:not([hidden]) .shocko-popup__panel { animation: none !important; } }
