/* STEP516: Site mobile/compact Header matches accepted Cabinet STEP512.
   Four existing Site actions; accepted >=1440px Header is untouched. */
@media (max-width: 1439px) {
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 {
    padding: 16px 0 !important; min-height: 0 !important; height: auto !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 .pusk-header-v13-art { display: none !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-stage-v12 {
    position: relative !important; display: grid !important;
    grid-template-columns: minmax(0,1fr) !important; gap: 12px !important;
    width: min(calc(100% - 24px),760px) !important; max-width: none !important;
    height: auto !important; margin: 0 auto !important; transform: none !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 .pusk-brand-v12 {
    position: static !important; display: flex !important; justify-content: center !important;
    align-items: center !important; width: auto !important; height: 48px !important;
    padding: 0 !important; margin: 0 !important; gap: 12px !important;
    transform: none !important; visibility: visible !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 .pusk-brand-v12 > * { visibility: visible !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 .pusk-logo-v12 { width: 48px !important; height: 48px !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 .pusk-wordmark-v12 { font-size: 24px !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth.pusk-header-actions-v12 {
    position: static !important; display: grid !important;
    grid-template-columns: repeat(3,minmax(0,1fr)) !important; gap: 12px 8px !important;
    min-width: 0 !important; width: auto !important; height: auto !important;
    margin: 0 !important; padding: 0 !important; transform: none !important; pointer-events: auto !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-action-v12 {
    position: static !important; display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important;
    width: auto !important; min-width: 0 !important; max-width: 100% !important;
    height: auto !important; min-height: 64px !important; margin: 0 !important;
    padding: 8px 4px !important; gap: 6px !important; transform: none !important;
    color: #f6fbff !important; border: 1px solid rgba(97,141,255,.55) !important;
    background: linear-gradient(135deg,#0e3687,#4a1e9a) !important; border-radius: 12px !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-action-v12 > * {
    visibility: visible !important; opacity: 1 !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-action-icon-v12 {
    display: grid !important; place-items: center !important; width: 24px !important;
    height: 24px !important; padding: 0 !important; border: 0 !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-action-icon-v12 svg { width: 24px !important; height: 24px !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-action-title-v12 { font-size: 12px !important; line-height: 1.2 !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth :is(.pusk-action-kicker-v12,.pusk-download-v12,.pusk-chevron-v12) { display: none !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-cabinet-v12 {
    grid-column: 1 / -1; flex-direction: row !important; min-height: 48px !important; padding: 8px 12px !important;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-cabinet-label-v12 { font-size: 14px !important; line-height: 1.2 !important; white-space: normal !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 #topAuth .pusk-action-v12[hidden] { display: none !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-header-v12 :is(.pusk-action-v12,.pusk-brand-v12):focus-visible { outline: 2px solid #a2ffe5 !important; outline-offset: 3px !important; }
}

/* STEP515 RETRY4: Accepted RETRY33 Footer/Contacts presentation, scoped to Site in STEP516. */
body:not(.pusk-cabinet-page-v1) .pusk-footer-v3.pusk-footer-compact-v515 {
  box-sizing: border-box; padding: 12px !important; min-height: 0 !important; height: auto !important;
}
body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 .pusk-footer-v3__main {
  display: flex !important; flex-direction: column; align-items: center; gap: 6px !important;
  width: min(100%, 1280px) !important; min-width: 0 !important; margin: 0 auto !important;
  min-height: 0 !important; height: auto !important; padding: 0 !important;
}
body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 .pusk-footer-v3__legal {
  display: grid !important; grid-template-columns: repeat(4, max-content) !important;
  align-items: stretch; justify-content: center; gap: 0 20px !important; max-width: 100%;
}
body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 .pusk-footer-v3__legal > button {
  appearance: none; -webkit-appearance: none; box-sizing: border-box;
  display: flex !important; align-items: center; justify-content: center;
  min-width: 44px !important; min-height: 44px !important; width: auto !important; height: auto !important;
  margin: 0 !important; padding: 2px 3px !important; border: 0 !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important; filter: none !important; transform: none !important;
  color: #b8c9e2 !important; font-family: inherit !important; font-size: 13px !important;
  font-weight: 400 !important; line-height: 1.2 !important; text-align: center !important;
  white-space: normal !important; overflow: visible !important; text-overflow: clip !important;
  overflow-wrap: anywhere; text-decoration: none; cursor: pointer; -webkit-tap-highlight-color: rgba(184,201,226,.15);
}
body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 .pusk-footer-v3__legal > button:hover {
  color: #e0edff !important; text-decoration: underline; text-underline-offset: 3px;
}
body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 button:focus-visible {
  outline: 2px solid #a2ffe5 !important; outline-offset: -2px;
}
body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 .pusk-footer-v3__copy {
  font-size: 12px !important; line-height: 1.2 !important; margin: 0 !important; color: #a5b6ce;
}
@media (max-width: 760px) {
  body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 .pusk-footer-v3__legal {
    width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 0 8px !important;
  }
}
/* Reuse the legal dialog shell; only Contacts receives this compact scrollable presentation. */
body:not(.pusk-cabinet-page-v1) #legalModalV1 .legal-modal-v1__panel { box-sizing: border-box; }
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__panel {
  display: flex; flex-direction: column; width: min(680px, calc(100% - 24px));
  max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
  margin: 12px auto; padding: 16px; border-radius: 20px; overflow: hidden;
}
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__header { flex: 0 0 auto; }
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__body {
  min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
  padding-right: 4px; color: #dce8fa; font: 400 14px/1.45 system-ui, sans-serif;
}
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 { min-width: 0; overflow-wrap: anywhere; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 h2 { margin: 0 0 14px; color: #eef6ff; font: 400 22px/1.2 'Russo One', system-ui, sans-serif; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515__sections { display: grid; gap: 18px; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 :is(.pusk-contact-details-v515__developer,.pusk-contact-details-v515__merchant,.pusk-contact-details-v515__developer-copy) {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; min-width: 0;
  max-width: none; justify-self: stretch; text-align: left; color: inherit; font: inherit;
}
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 :is(.pusk-contact-details-v515__role,.pusk-contact-details-v515__merchant-role) {
  margin: 0 0 2px; color: #9ddcf2; text-align: left; font: 600 12px/1.2 system-ui, sans-serif; letter-spacing: .1em;
}
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 :is(strong,span,a) { font-size: inherit; line-height: inherit; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 strong { color: #edf4ff; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 .pusk-contact-details-v515__developer-logo { width: 36px; height: 36px; padding: 1px; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 .pusk-contact-details-v515__socials { display: flex; flex-wrap: wrap; gap: 4px 12px; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 a { display: inline-flex; align-items: center; min-height: 44px; width: fit-content; max-width: 100%; color: #9ddcf2; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 svg { width: 16px; height: 16px; margin-right: 5px; fill: currentColor; flex-shrink: 0; }
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 a:focus-visible { outline: 2px solid #a2ffe5; outline-offset: 2px; }
/* Isolate the shared shell from older global modal !important rules. */
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts { padding: 0 !important; }
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__panel {
  display: flex !important; width: min(680px, calc(100% - 24px)) !important;
  max-height: calc(100vh - 24px) !important; max-height: calc(100dvh - 24px) !important;
  margin: 12px auto !important; padding: 16px !important; overflow: hidden !important;
}
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__header {
  min-height: 44px; margin: 0 0 6px !important; padding: 0;
}
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__close {
  width: 44px !important; height: 44px !important; min-width: 44px; flex: 0 0 auto;
}
body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__body {
  line-height: 1.45 !important; color: #dce8fa !important;
}
body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 .pusk-contact-details-v515__developer-logo {
  box-sizing: border-box; object-fit: contain; border-radius: 7px; background: rgba(255,255,255,.92);
}
/* Existing body zoom is .968 above760; retain it and provide >=44 physical-pixel hit areas. */
@media (min-width: 761px) {
  body:not(.pusk-cabinet-page-v1) .pusk-footer-compact-v515 .pusk-footer-v3__legal > button { min-height: 46px !important; }
  body:not(.pusk-cabinet-page-v1) #legalModalV1.legal-modal-v1--contacts .legal-modal-v1__close { width: 46px !important; height: 46px !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-contacts-v515 a { min-height: 46px; }
}

/* STEP518: use the established compact breakpoint; desktop >=1440 remains intact. */
.pusk-image-source-v518 { display: contents; }
@media (max-width: 1439px) {
  body:not(.pusk-cabinet-page-v1) .pusk-hero-v1 { padding: 12px 0 20px !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-hero-stage-v1 { width: min(calc(100% - 24px), 680px) !important; margin: 0 auto !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-hero-desktop-v1,
  body:not(.pusk-cabinet-page-v1) .pusk-hero-mobile-art-v1 { display: none !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-hero-mobile-v1 { display: block !important; width: 100% !important; }
  body:not(.pusk-cabinet-page-v1) .pusk-hero-mobile-copy-v1 {
    position: relative !important; width: 100% !important; height: auto !important;
    aspect-ratio: 890 / 470; overflow: hidden;
  }
  body:not(.pusk-cabinet-page-v1) .pusk-hero-mobile-copy-v1 img {
    position: absolute !important; top: 0 !important; left: 0 !important;
    width: 215.2808988764% !important; max-width: none !important; height: auto !important;
    transform: translateY(-24.3605359318%) !important; transform-origin: left top !important;
  }
  body:not(.pusk-cabinet-page-v1) #divider,
  body:not(.pusk-cabinet-page-v1) main :is(.pusk-premium-art-v1,.pusk-bubbles-art-v1,.pusk-support-art-v1),
  body:not(.pusk-cabinet-page-v1) .pusk-image-source-v518,
  body:not(.pusk-cabinet-page-v1) .pusk-image-source-v508 { display: none !important; }
  body:not(.pusk-cabinet-page-v1) main :is(#premium,#bubbles,#support) { padding-top: 16px !important; padding-bottom: 16px !important; }
}

/* STEP518: identical compact navigation/footer and physically centered Contacts shell. */
body .pusk-footer-v3.pusk-footer-compact-v515 { padding: 10px 12px !important; }
body .pusk-footer-v3.pusk-footer-compact-v515 .pusk-footer-v3__main { gap: 0 !important; position: static !important; transform: none !important; translate: none !important; }
body .pusk-footer-v3.pusk-footer-compact-v515 .pusk-footer-v3__legal { margin: 0 !important; padding: 0 !important; position: static !important; inset: auto !important; transform: none !important; translate: none !important; }
body .pusk-footer-v3.pusk-footer-compact-v515 .pusk-footer-v3__copy { margin: 0 !important; padding: 0 !important; line-height: 1.2 !important; position: static !important; inset: auto !important; transform: none !important; translate: none !important; }
body #legalModalV1.legal-modal-v1.legal-modal-v1--contacts:not([hidden]) {
  position: fixed !important; inset: 0 !important; display: flex !important;
  align-items: center !important; justify-content: center !important; padding: 12px !important;
  box-sizing: border-box !important;
}
body #legalModalV1.legal-modal-v1.legal-modal-v1--contacts .legal-modal-v1__panel {
  box-sizing: border-box !important; width: min(680px, 100%) !important; max-width: 100% !important;
  max-height: calc(100vh - 24px) !important; max-height: calc(100dvh - 24px) !important;
  min-height: 0 !important; margin: 0 !important; transform: none !important; flex: 0 1 auto;
}

/* STEP518 RETRY1: center the copyright box as well as its text, below legal links. */
body .pusk-footer-v3.pusk-footer-compact-v515 .pusk-footer-v3__main {
  align-items: center !important;
}
body .pusk-footer-v3.pusk-footer-compact-v515 .pusk-footer-v3__copy {
  align-self: center !important; width: 100% !important; max-width: 100% !important;
  text-align: center !important;
}

@media (max-width: 1439px) {
  /* The original full-screen shell must shrink with the retained mobile Hero. */
  body:not(.pusk-cabinet-page-v1) .pusk-rebuild-shell { min-height: 0 !important; }
  /* Keep the existing price nodes and CTA; change only compact visual ordering. */
  body #premium .pusk-premium-copy-v514 { order: 20; }
}

/* STEP518 RETRY4: same document shell above login; documents and Contacts handlers retained. */
body #legalModalV1.legal-modal-v1 { z-index: 10001 !important; }
body #legalModalV1.legal-modal-v1:not(.legal-modal-v1--contacts):not([hidden]) {
  display: flex !important; align-items: center !important; justify-content: center !important;
  box-sizing: border-box !important; padding: 12px !important;
}
body #legalModalV1.legal-modal-v1:not(.legal-modal-v1--contacts) .legal-modal-v1__panel {
  display: flex !important; flex-direction: column; box-sizing: border-box !important;
  width: min(900px, 100%) !important; min-width: 0; min-height: 0;
  max-height: calc(100vh - 24px) !important; max-height: calc(100dvh - 24px) !important;
  margin: 0 !important; overflow: hidden !important;
}
body #legalModalV1.legal-modal-v1:not(.legal-modal-v1--contacts) .legal-modal-v1__header { flex: 0 0 auto; }
body #legalModalV1.legal-modal-v1:not(.legal-modal-v1--contacts) .legal-modal-v1__body {
  min-height: 0; overflow-y: auto; overflow-wrap: anywhere;
  overscroll-behavior: contain; -webkit-overflow-scrolling: touch;
}
body #legalModalV1 .legal-modal-v1__backdrop { width: 100%; height: 100%; }

@media (max-width: 1439px) {
  /* Isolate the original left text artwork; exclude the adjacent device/ring pixels. */
  body:not(.pusk-cabinet-page-v1) .pusk-hero-mobile-copy-v1 img {
    -webkit-clip-path: polygon(0 0, 45.93% 0, 45.93% 69.4%, 43.6% 69.4%, 44.1% 71%, 44.1% 74%, 43.2% 76.8%, 0 76.8%);
    clip-path: polygon(0 0, 45.93% 0, 45.93% 69.4%, 43.6% 69.4%, 44.1% 71%, 44.1% 74%, 43.2% 76.8%, 0 76.8%);
  }
}

/* STEP519: same desktop-only dialog treatment in Site and Cabinet; mobile unchanged. */
@media (min-width: 761px) {
  html.pusk-download-modal-open-v1, html.pusk-download-modal-open-v1 body { overflow: hidden !important; }
  body .pusk-download-modal-v1:not([hidden]) {
    position: fixed !important; inset: 0 !important; width: auto !important; height: auto !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 24px !important; box-sizing: border-box; z-index: 10000;
  }
  body .pusk-download-modal-v1 .pusk-download-modal-v1__backdrop {
    position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important;
    margin: 0; padding: 0; border: 0; z-index: 0;
    background: rgba(0, 2, 12, .76) !important;
    backdrop-filter: blur(5px) !important; -webkit-backdrop-filter: blur(5px);
  }
  body .pusk-download-modal-v1 .pusk-download-modal-v1__panel {
    position: relative !important; inset: auto !important; transform: none !important;
    flex: 0 1 auto; width: min(420px, 100%) !important; max-width: 100% !important;
    max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px);
    margin: 0 !important; padding: 28px 24px 24px !important; box-sizing: border-box;
    overflow-y: auto; overscroll-behavior: contain; text-align: center !important; z-index: 1;
    box-shadow: 0 24px 80px rgba(0, 0, 0, .6), 0 0 36px rgba(52, 198, 255, .2) !important;
  }
  body .pusk-download-modal-v1 .pusk-download-modal-v1__close {
    top: 8px !important; right: 8px !important; width: 44px !important; height: 44px !important; line-height: 44px !important;
  }
  body .pusk-download-modal-v1 .pusk-download-modal-v1__title { font-size: 22px !important; margin: 8px 20px 14px !important; }
  body .pusk-download-modal-v1 .pusk-download-modal-v1__text { font-size: 14px !important; max-width: none !important; line-height: 1.5 !important; }
  body .pusk-download-modal-v1 :is(.pusk-download-modal-v1__confirm,.pusk-download-modal-v1__cancel) { min-height: 44px !important; font-size: 12px !important; }
  body .pusk-download-modal-v1[data-info-download-v519] .pusk-download-modal-v1__actions { grid-template-columns: 1fr !important; }
  body .pusk-download-modal-v1__panel :is(button,a):focus-visible { outline: 2px solid #a2ffe5 !important; outline-offset: 3px; }
}
