/* ==========================================================================
   PushTower.Cloud — pre-login / checkout brand layer (design v3.1)

   Loads AFTER access-deck.css and the legacy sheets, and moves the pre-login
   surfaces off the older "Mark C" palette (#5b8fd6 blue, #e34948 dot, the
   lowercase "pushtowers" wordmark) onto the v3.1 tokens.

   SCOPING CONTRACT
   - `body.pt-deck`  : login, /access, and the 99c page — already skinned by
                       access-deck.css, so this only retunes colour and shape.
   - `body.pt-brand` : register and payment, which have no deck skin at all and
                       get the tokens applied from scratch.
   Neither class exists on the console layouts, so this file cannot reach them.
   ========================================================================== */

body.pt-deck,
body.pt-brand {
  --navy: #0B1529;
  --tower-blue: #1746C6;
  --signal: #2F80ED;
  --cloud: #BFD9FF;
  --beacon: #E05A00;
  --ink: #0d1a30;
  --ink2: #41506b;
  --ink3: #6b7c98;
  --line: #e7edf6;
  --line2: #dbe3f0;
}

/* --------------------------------------------------------------------------
   1. The deck backdrop, on the v3.1 navy.
   -------------------------------------------------------------------------- */

body.pt-deck {
  background: #0B1529 !important;
  background-image:
    radial-gradient(ellipse 900px 480px at 50% -120px, #16264a 0%, rgba(22, 38, 74, 0) 70%),
    radial-gradient(ellipse 700px 420px at 50% 115%, #101d38 0%, rgba(16, 29, 56, 0) 72%) !important;
  color: #aec0dd;
  font-family: "Avenir Next", "Inter", system-ui, -apple-system, Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   2. Brand lockup — the v3.1 tower mark and the PushTower.Cloud wordmark.
   access-deck.css paints its own mark into ::before and the word into ::after;
   both are replaced here rather than added to.
   -------------------------------------------------------------------------- */

.pt-deck .logo-login-page::before {
  width: 48px;
  height: 48px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><rect x="4" y="4" width="92" height="92" rx="24" fill="%23ffffff"/><path d="M34 32 A22 22 0 0 1 66 32" fill="none" stroke="%232F80ED" stroke-width="3.6" stroke-linecap="round"/><path d="M40 38.5 A14.5 14.5 0 0 1 60 38.5" fill="none" stroke="%232F80ED" stroke-width="3.6" stroke-linecap="round"/><path d="M47.5 41 L46 77 L54 77 L52.5 41 Z" fill="%231746C6"/><ellipse cx="50" cy="48.5" rx="15" ry="6.4" fill="%231746C6"/><ellipse cx="50" cy="47.4" rx="15" ry="6.4" fill="%232F80ED"/><path d="M42 77 Q50 69 58 77 L61.5 83.5 L38.5 83.5 Z" fill="%231746C6"/><circle cx="50" cy="29.5" r="5.6" fill="%23E05A00"/><circle cx="50" cy="29.5" r="9.4" fill="none" stroke="%23E05A00" stroke-width="1.6" opacity=".4"/></svg>') center / contain no-repeat !important;
}

.pt-deck .logo-login-page::after {
  content: "PushTower.Cloud" !important;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: #fff;
}

/* --------------------------------------------------------------------------
   3. Card, fields and the primary action.
   -------------------------------------------------------------------------- */

.pt-deck #signin-section,
.pt-brand .panel,
.pt-brand .well {
  border-radius: 16px !important;
  box-shadow: 0 2px 4px rgba(0, 0, 0, .18), 0 24px 48px -14px rgba(0, 0, 0, .5) !important;
  border: 0 !important;
}

.pt-deck #signin-section input.form-control,
.pt-brand input[type=text],
.pt-brand input[type=email],
.pt-brand input[type=password],
.pt-brand select,
.pt-brand textarea {
  border: 1px solid var(--line2) !important;
  border-radius: 10px !important;
  background: #f7f9fd !important;
  color: var(--ink) !important;
  font-family: inherit;
  font-size: 14px;
  box-shadow: none !important;
  min-height: 44px;
}

.pt-deck #signin-section input.form-control:focus,
.pt-brand input:focus,
.pt-brand select:focus,
.pt-brand textarea:focus {
  border-color: var(--signal) !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(47, 128, 237, .14) !important;
  outline: 0;
}

/* Primary button — signal blue, v3.1 shape. Covers the login submit and the
   generic Bootstrap primary used on register / payment / 99c. */
.pt-deck #signin-section .btn,
.pt-deck #signin-section input[type=submit],
.pt-deck .btn-primary,
.pt-brand .btn-primary,
.pt-brand .btn-success {
  background: var(--signal) !important;
  background-image: none !important;
  border: 1px solid var(--signal) !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-family: inherit;
  font-weight: 700 !important;
  font-size: 14px !important;
  letter-spacing: .01em;
  text-transform: none !important;
  text-shadow: none !important;
  min-height: 46px;
  box-shadow: 0 8px 20px -6px rgba(47, 128, 237, .55) !important;
  transition: .15s;
}

.pt-deck #signin-section .btn:hover,
.pt-deck #signin-section input[type=submit]:hover,
.pt-deck .btn-primary:hover,
.pt-brand .btn-primary:hover,
.pt-brand .btn-success:hover {
  background: var(--tower-blue) !important;
  border-color: var(--tower-blue) !important;
}

/* --------------------------------------------------------------------------
   4. Links and footer.
   -------------------------------------------------------------------------- */

.pt-deck #signin-section a,
.pt-brand a { color: var(--signal); }

.pt-deck #signin-section a:hover,
.pt-brand a:hover { color: var(--tower-blue); }

body.pt-deck .dv-footer a.foot-link,
body.pt-brand .dv-footer a.foot-link {
  font-family: inherit !important;
  font-size: 12px !important;
  color: #6f83a5 !important;
  background: transparent !important;
  border: 0 !important;
}

body.pt-deck .dv-footer a.foot-link:hover,
body.pt-brand .dv-footer a.foot-link:hover { color: var(--cloud) !important; }

/* --------------------------------------------------------------------------
   5. Register / payment, which have no deck skin of their own.
   -------------------------------------------------------------------------- */

body.pt-brand {
  font-family: "Avenir Next", "Inter", system-ui, -apple-system, Arial, sans-serif;
  color: var(--ink2);
  background: #f6f8fc;
}

body.pt-brand h1,
body.pt-brand h2,
body.pt-brand h3,
body.pt-brand h4 {
  font-family: inherit;
  color: var(--ink);
  letter-spacing: -.02em;
  font-weight: 700;
}

body.pt-brand .panel,
body.pt-brand .well {
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(13, 26, 48, .06), 0 8px 20px -6px rgba(13, 26, 48, .10) !important;
}
