/*
Theme Name: GeneratePress Child
Template: generatepress
Version: 1.0
*/

/* login & register form container */

.page-center-wrapper {
	display: flex;
    flex-direction: column;
    min-height: 100vh;
    box-sizing: border-box;
}

.page-center-content {
	flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    box-sizing: border-box;
}


@media (max-width: 480px) {
    .custom-form-container .um {
        transform: scale(calc(min(0.9, 100vh / 600)));
    }
}

/* legal, privacy, terms, disclaimer */

.bfb-legal {
  margin: 0 auto !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 22px !important;
  padding: 26px 22px 22px !important;
  box-shadow: 0 30px 110px rgba(0,0,0,0.65) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  position: relative !important;
	font-size: 0.8rem;
}

@media (min-width: 992px) { /* lg */
  .bfb-legal {
	 margin: 5rem !important;
  }
}

.forminator-ui, .forminator-custom-form {
	 width: min(480px, 92vw) !important;
	  margin: 0 auto !important;
	  background: rgba(255,255,255,0.06) !important;
	  border: 1px solid rgba(255,255,255,0.14) !important;
	  border-radius: 22px !important;
	  padding: 26px 22px 22px !important;
	  box-shadow: 0 30px 110px rgba(0,0,0,0.65) !important;
	  backdrop-filter: blur(18px);
	  -webkit-backdrop-filter: blur(18px);
	  position: relative !important;
	text-align: left !important;
}

/* no copyright mark*/
.site-info {
	display:none !important;
}

:root{
      --bg:#070b12;
      --card:rgba(18, 24, 35, .78);
      --card2:rgba(18, 24, 35, .62);
      --stroke:rgba(255,255,255,.10);
      --text:rgba(255,255,255,.92);
      --muted:rgba(255,255,255,.70);
      --muted2:rgba(255,255,255,.55);
      --gold1:#ffd24a;
      --gold2:#f0a400;
      --shadow:0 18px 70px rgba(0,0,0,.55);
      --radius:18px;
      --radius2:24px;
      --max:1180px;
    }

    *{box-sizing:border-box}
    html,body{height:100%}
    body{
      background:
		radial-gradient(50vw 30vh at 15% 20%, rgba(255, 196, 0, 0.22), transparent 55%),
		radial-gradient(50vw 30vh at 85% 70%, rgba(0, 130, 255, 0.18), transparent 55%),
		radial-gradient(40vw 25vh at 75% 18%, rgba(0, 255, 170, 0.10), transparent 55%),
		var(--bg) !important;
	  margin: 0 !important;
	  padding: 0 !important;
	  overflow-x: hidden !important;
		color: var(--text) !important;
    }

    a{color:inherit; text-decoration:none}
    .wrap{max-width:var(--max); margin:0 auto; padding:18px 16px 56px}

    /* Top bar */
    .topbar{
      background:rgba(10, 14, 22, .62);
      border:1px solid var(--stroke);
      border-radius:999px;
      box-shadow:0 10px 40px rgba(0,0,0,.35);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      padding:10px 12px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:12px;
      flex-wrap:wrap;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:10px;
      min-width: 220px;
    }
    .brand-badge{
      width:38px; height:38px;
      border-radius:12px;
      display:grid; place-items:center;
      background:linear-gradient(180deg, rgba(255,210,74,.22), rgba(240,164,0,.10));
      border:1px solid rgba(255,210,74,.25);
      box-shadow:0 10px 24px rgba(0,0,0,.35);
      flex:0 0 auto;
    }
    .brand-title{display:flex; flex-direction:column; line-height:1.05;}
    .brand-title b{font-size:14px; letter-spacing:.2px}
    .brand-title span{font-size:12px; color:var(--muted2)}

    .topbar-right{
      display:flex;
      align-items:center;
      justify-content:flex-end;
      gap:10px;
      flex-wrap:wrap;
    }

    .pill{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:8px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.04);
      border:1px solid var(--stroke);
      color:var(--muted);
      font-size:12px;
      white-space:nowrap;
    }
    .dot{
      width:9px; height:9px; border-radius:50%;
      background:#22c55e;
      box-shadow:0 0 0 4px rgba(34,197,94,.15);
    }

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      padding:10px 12px;
      border-radius:999px;
      border:1px solid var(--stroke);
      background:rgba(255,255,255,.04);
      color:rgba(255,255,255,.88);
      font-weight:800;
      font-size:13px;
      transition: transform .12s ease, filter .12s ease, background .12s ease;
      white-space:nowrap;
    }
    .btn:hover{transform:translateY(-1px); filter:brightness(1.03)}
    .btn.primary{
      border:none;
      background: linear-gradient(180deg, var(--gold1) 0%, var(--gold2) 100%);
      color:#161616;
      box-shadow: 0 14px 28px rgba(240,164,0,.25), 0 6px 18px rgba(0,0,0,.35);
    }
    .btn.ghost{background:rgba(255,255,255,.02)}
    .btn.small{padding:8px 10px; font-size:12px; font-weight:800}

    /* Hero */
    .hero{
      text-align:center;
      padding:28px 10px 6px;
    }
    .hero .kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 10px;
      border-radius:999px;
      background:rgba(255,255,255,.04);
      border:1px solid var(--stroke);
      color:var(--muted);
      font-weight:700;
      font-size:12px;
    }
    .hero h1{
      margin:14px 0 8px;
      font-size:40px;
      line-height:1.05;
      letter-spacing:-.6px;
		font-weight: bold;
    }
    .hero h1 span{
		 background: linear-gradient(180deg, var(--gold1) 0%, var(--gold2) 100%);
		-webkit-background-clip: text;
		background-clip: text;
		-webkit-text-fill-color: transparent;
    }
    .hero p{
      margin:0 auto;
      max-width:760px;
      color:var(--muted);
      font-size:14px;
      line-height:1.6;
    }

    .mini-badges{
      margin:16px auto 0;
      display:flex;
      justify-content:center;
      gap:10px;
      flex-wrap:wrap;
    }

    /* Grid */
    .section-anchor{scroll-margin-top: 18px;}
    .grid{
      margin-top:22px;
      display:grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap:16px;
    }

    .card{
      background: var(--card);
      border:1px solid var(--stroke);
      border-radius: var(--radius);
      box-shadow: 0 14px 45px rgba(0,0,0,.35);
      overflow:hidden;
      position:relative;
      display:flex;
      flex-direction:column;
      min-height: 298px;
    }

    .badge{
      position:absolute;
      left:12px;
      top:12px;
      z-index:2;
      padding:6px 10px;
      border-radius:999px;
      font-size:11px;
      font-weight:900;
      letter-spacing:.4px;
      background:rgba(0,0,0,.35);
      border:1px solid rgba(255,255,255,.14);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }

    .thumb{
      padding:46px 14px 14px; /* room for badge */
      background:
        radial-gradient(520px 260px at 30% 10%, rgba(255,210,74,.10), transparent 55%),
        radial-gradient(520px 260px at 80% 30%, rgba(0,255,255,.08), transparent 55%),
        rgba(255,255,255,.02);
      border-bottom:1px solid rgba(255,255,255,.06);
      display:flex;
      align-items:center;
      justify-content:center;
    }

    .thumb .frame{
      width:100%;
      max-width: 320px;
      aspect-ratio: 16 / 9;
      border-radius:14px;
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.10);
      display:flex;
      align-items:center;
      justify-content:center;
      overflow:hidden;
      box-shadow: 0 10px 24px rgba(0,0,0,.25);
    }
    .thumb img{
      width:100%;
      height:100%;
      object-fit:contain;
      background:rgba(0,0,0,.18);
      display:block;
      padding:10px;
    }

    .body{
      padding:14px 14px 12px;
      display:flex;
      flex-direction:column;
      gap:10px;
      flex:1;
    }
    .title{
      font-size:13px;
      font-weight:900;
      letter-spacing:.2px;
      line-height:1.35;
      margin:0;
    }

    .actions{margin-top:auto}
    .cta{
      width:100%;
      height:44px;
      border:none;
      border-radius:999px;
      font-weight:900;
      letter-spacing:.3px;
      background: linear-gradient(180deg, var(--gold1) 0%, var(--gold2) 100%);
      color:#161616;
      box-shadow: 0 14px 28px rgba(240,164,0,.25), 0 6px 18px rgba(0,0,0,.35);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:8px;
      cursor:pointer;
      transition: transform .12s ease, filter .12s ease;
    }
    .cta:hover{transform:translateY(-1px); filter:brightness(1.03)}

    /* Support + Footer */
    .support{
      margin-top:26px;
      background: var(--card2);
      border:1px solid var(--stroke);
      border-radius: var(--radius2);
      padding:18px;
      display:grid;
      grid-template-columns: 1.2fr .8fr;
      gap:16px;
      box-shadow: var(--shadow);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
    }
    .support h3{
      margin:0 0 6px;
      font-size:16px;
      letter-spacing:-.2px;
    }
    .support p{
      margin:0;
      color:var(--muted);
      font-size:13px;
      line-height:1.6;
    }
    .support-box{
      background:rgba(255,255,255,.03);
      border:1px solid rgba(255,255,255,.08);
      border-radius:16px;
      padding:14px;
      display:flex;
      flex-direction:column;
      gap:10px;
      justify-content:space-between;
      min-height: 128px;
    }
    .support-box b{font-size:13px}
    .support-box .small{font-size:12px; color:var(--muted)}
    .support-actions{display:flex; gap:10px; flex-wrap:wrap}

    footer{
      margin-top:0px;
      padding:18px 0 40px;
      text-align:center;
      color:var(--muted2);
      font-size:12px;
		flex-shrink: 0;
    }

    .footer-links{
      display:flex;
      justify-content:center;
      gap:16px;
      flex-wrap:wrap;
      margin-bottom:10px;
    }
    .footer-links a{
      color:rgba(255,255,255,.78);
      font-weight:800;
    }
    .footer-links a:hover{text-decoration:underline}

    @media (max-width: 1100px){
      .grid{grid-template-columns: repeat(3, minmax(0, 1fr));}
    }
    @media (max-width: 860px){
      .hero h1{font-size:34px}
      .grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
      .support{grid-template-columns:1fr}
      .brand{min-width:unset}
    }
    @media (max-width: 520px){
      .wrap{padding:14px 12px 40px}
      .topbar{border-radius:22px}
      .hero{padding-top:20px}
      .hero h1{font-size:28px}
      .pill{padding:7px 9px}
      .btn{padding:9px 11px}
      .grid{grid-template-columns:1fr}
      .card{min-height:unset}
      .thumb .frame{max-width: 360px}
    }


.site-main, 
.site-content, 
.page .inside-page,
.single-post .inside-article {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
/* Ultimate member forms override */

.um {
  width: min(480px, 92vw) !important;
  margin: 0 auto !important;
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 22px !important;
  padding: 26px 22px 22px !important;
  box-shadow: 0 30px 110px rgba(0,0,0,0.65) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  position: relative !important;
}

/* Add your logo inside the card */
.um:before{
  content:"";
  display:block;
  width: min(280px, 70vw);
  height: 82px;
  margin: 0 auto 14px auto;
  background: url("/wp-content/uploads/2026/01/cropped-ChatGPT-Image-Jan-5-2026-12_27_26-PM.png") center/contain no-repeat;
  filter: drop-shadow(0 14px 30px rgba(0,0,0,0.45));
}

/* Hide the default UM title if it appears */
.um .um-form-title{
  display:none !important;
}

/* Labels */
.um .um-field-label .forminator-label, label{
  color: rgba(255,255,255,0.90) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: .2px !important;
  margin-bottom: 8px !important;
}

/* Spacing between fields */
.um .um-field{
  margin-bottom: 16px !important;
}

/* Inputs */
.um input[type="text"],
.um input[type="password"],
.um input[type="email"],
.um input[type="text"],
.um input[type="password"],
.um input[type="email"],
.forminator-input,
.forminator-textarea {
  width: 100% !important;
  background: rgba(255,255,255,0.08) !important;
  color: rgba(255,255,255,0.95) !important;
  border: 1px solid rgba(255,255,255,0.14) !important;
  border-radius: 14px !important;
  padding: 14px 14px !important;
  outline: none !important;
}

/* Placeholder */
.um input::placeholder,
.um input::placeholder{
  color: rgba(255,255,255,0.45) !important;
}

/* Focus */
.um input:focus{
  border-color: rgba(255,210,74,0.45) !important;
  box-shadow: 0 0 0 4px rgba(255,210,74,0.15) !important;
}

/* ✅ Remember me: full line ABOVE button */
.um .um-field-checkbox{
  margin: 6px 0 14px !important;
}

.um .um-field-checkbox label{
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  white-space: nowrap !important; /* keeps one line on PC */
  color: rgba(255,255,255,0.75) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}

/* Button */
.um .um-button,
.um input.um-button, .forminator-button-submit{
  width: 100% !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 14px 16px !important;
  font-weight: 900 !important;
  letter-spacing: .2px !important;
  color: #0a0a0a !important;
  background: linear-gradient(180deg, #ffd24a, #e6a500) !important;
  box-shadow: 0 16px 45px rgba(255,190,40,0.20) !important;
}


.um .um-button:hover,
.um input.um-button:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.03) !important;
}

/* Forgot password */
.um .um-col-alt{
  text-align: center !important;
  margin-top: 10px !important;
}

.um a{
  color: rgba(255,210,74,0.95) !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

.um a:hover{
  text-decoration: underline !important;
}

/* Change first field label to "Email or Username" visually */
.um .um-field-username .um-field-label label{
  font-size: 0 !important;
}
.um .um-field-username .um-field-label label:after{
  content:"Email or Username";
  font-size: 13px !important;
  font-weight: 800 !important;
  color: rgba(255,255,255,0.90) !important;
}

/* Mobile tweaks */
@media (max-width: 480px){
    .um{
    padding: 22px 16px 18px !important;
    border-radius: 18px !important;
  }
  .um:before{
    height: 70px;
    margin-bottom: 10px;
  }
  /* allow remember text to wrap on small screens */
  .um .um-field-checkbox label{
    white-space: normal !important;
  }
}

