/* Shared premium authentication landing page. */
:root{--auth-bg:#04172b;--auth-bg2:#092b4b;--auth-gold:#dfad55;--auth-gold-light:#f5d884;--auth-gold-dark:#8f6518;--auth-silver:#edf3fb;--auth-muted:#b8c5d5;--auth-line:rgba(231,180,91,.44);--auth-panel:rgba(9,39,68,.9)}
html,body{min-height:100%;margin:0}
body.auth-portal-page,body.member-login-shell{min-height:100svh!important;width:100%!important;margin:0!important;padding:0!important;display:block!important;align-items:initial!important;justify-content:initial!important;box-sizing:border-box!important;background:radial-gradient(circle at 83% 6%,rgba(102,156,213,.45),transparent 25%),radial-gradient(circle at 35% 68%,rgba(27,78,120,.22),transparent 36%),linear-gradient(135deg,#031426 0%,#072643 54%,#031529 100%)!important;color:var(--auth-silver)!important;font-family:Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif!important;overflow-x:hidden!important;overflow-y:auto!important}
.auth-portal{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(380px,.8fr);gap:clamp(42px,6vw,96px);align-items:center;max-width:1380px;margin:0 auto;padding:clamp(38px,5vw,72px) clamp(24px,5vw,72px);box-sizing:border-box;isolation:isolate}
.auth-portal::before{content:"";position:fixed;inset:0;z-index:-4;background-image:radial-gradient(circle,rgba(224,176,83,.23) 1.5px,transparent 1.5px);background-size:18px 18px;mask-image:linear-gradient(to left,#000 0 16%,transparent 31%);pointer-events:none}
.auth-aircraft{position:fixed;z-index:-2;color:#a9c0d8;opacity:.12;filter:drop-shadow(0 14px 18px rgba(0,0,0,.45));pointer-events:none}
.auth-aircraft i{display:block}.auth-aircraft--drone{top:8%;left:4%;font-size:84px;transform:rotate(-5deg)}.auth-aircraft--plane{top:7%;left:39%;font-size:150px;transform:rotate(8deg)}.auth-aircraft--heli{left:39%;bottom:25%;font-size:150px;transform:rotate(-5deg)}.auth-aircraft--glider{left:9%;bottom:8%;font-size:150px;transform:rotate(11deg)}
.auth-portal-brand{max-width:720px}.auth-portal-logo{width:min(348px,60vw);height:auto;display:block;margin:0 auto 0;filter:drop-shadow(0 8px 24px rgba(0,0,0,.34));border-radius:0;background:none}.auth-product-name{text-align:center;font-size:clamp(44px,5vw,68px);line-height:1;font-weight:750;letter-spacing:-.045em;margin:0;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.18),0 10px 22px rgba(0,0,0,.38)}.auth-product-subtitle{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--auth-gold);font-size:clamp(19px,2vw,28px);letter-spacing:.18em;margin:12px 0 10px}.auth-product-subtitle::before,.auth-product-subtitle::after{content:"";width:54px;height:2px;background:linear-gradient(90deg,transparent,var(--auth-gold))}.auth-product-subtitle::after{transform:scaleX(-1)}
.auth-portal-copy h1{margin:0 0 20px;text-align:center;font-size:clamp(38px,4.2vw,60px);line-height:1.05;letter-spacing:-.04em;font-weight:650}.auth-portal-copy h1 span{display:block;color:var(--auth-gold);font-weight:550}.auth-portal-copy>p{max-width:610px;color:#d0dae6;font-size:clamp(16px,1.45vw,20px);line-height:1.65;margin:0 auto 34px;text-align:center}
.auth-feature-grid{display:grid;grid-template-columns:repeat(5,minmax(88px,1fr));gap:18px;margin-top:26px}.auth-feature{text-align:center;color:#dce5ef}.auth-feature i{display:block;color:var(--auth-gold);font-size:34px;margin-bottom:10px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.4))}.auth-feature strong{display:block;color:var(--auth-gold);font-size:12px;letter-spacing:.04em;margin-bottom:6px}.auth-feature span{display:block;font-size:12px;line-height:1.4;color:#c1cedc}
.auth-quote{margin:50px auto 0;max-width:430px;text-align:center;color:#d8e0ea;font-family:Georgia,serif;font-size:18px;line-height:1.45}.auth-quote i{color:var(--auth-gold);margin-right:8px}.auth-quote small{display:block;color:var(--auth-gold);font-family:inherit;font-size:13px;margin-top:16px}
.auth-panel-wrap{width:100%;max-width:500px;justify-self:end}.auth-panel{position:relative;background:linear-gradient(155deg,rgba(16,55,91,.94),rgba(4,26,48,.96));border:1px solid var(--auth-line);border-radius:24px;padding:clamp(30px,4vw,52px);box-shadow:0 35px 75px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08);overflow:hidden}.auth-panel::before{content:"";position:absolute;top:-1px;left:26%;right:26%;height:2px;background:linear-gradient(90deg,transparent,#ffe6a2,transparent);box-shadow:0 0 16px #f1c265}.auth-panel h2{font-size:38px;text-align:center;margin:0;color:#fff;font-weight:650}.auth-panel h2::after{content:"";display:block;width:62px;height:2px;background:var(--auth-gold-light);margin:18px auto 30px}.auth-panel .lerr,.auth-panel .lok{margin:0 0 18px}.auth-panel form{display:grid;gap:18px}.auth-field{display:grid;gap:8px}.auth-panel .llbl{color:#fff!important;font-size:15px!important;font-weight:600!important}.auth-input-wrap{position:relative}.auth-input-wrap>i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#aab8c8;z-index:1}.auth-panel .lfi{width:100%!important;box-sizing:border-box!important;min-height:54px!important;padding:12px 48px!important;background:rgba(5,28,52,.62)!important;border:1px solid rgba(185,204,226,.4)!important;border-radius:8px!important;color:#fff!important;font-size:16px!important;box-shadow:none!important}.auth-panel .lfi:focus{outline:0!important;border-color:var(--auth-gold-light)!important;box-shadow:0 0 0 3px rgba(226,177,84,.15)!important}.auth-panel .lpwtog{right:7px!important;color:#aab8c8!important}.auth-form-meta{display:flex;justify-content:center;align-items:center;gap:16px;text-align:center}.auth-remember{display:flex;align-items:center;gap:8px;color:#fff;font-size:14px}.auth-remember input{width:18px;height:18px;accent-color:var(--auth-gold)}.auth-panel .llink{color:var(--auth-gold-light)!important;text-decoration:none!important}.auth-panel .auth-form-meta .llink{font-size:14px!important;line-height:1.3!important}.auth-panel .lbtn{width:100%!important;min-height:58px!important;border:1px solid #ffe29a!important;border-radius:8px!important;background:linear-gradient(135deg,#e4b24f,#f2d17a 55%,#c89435)!important;color:#07182a!important;font-size:18px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.02em!important;box-shadow:0 12px 26px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.55)!important}.auth-security{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start;margin-top:30px;padding-top:30px;border-top:1px solid rgba(255,255,255,.2);color:#c6d1df}.auth-security>i{font-size:36px;color:#d9e1eb}.auth-security strong{display:block;color:#fff;font-size:16px;margin-bottom:6px}.auth-security span{font-size:14px;line-height:1.55}.auth-panel-links{text-align:center;margin-top:18px;color:#c6d1df;font-size:14px}.auth-panel-links a{color:var(--auth-gold-light)}.auth-panel-links--primary{display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0;font-size:16px;line-height:1.5;white-space:nowrap}.auth-panel-links--primary .auth-link-separator{display:inline-block;flex:0 0 auto;margin:0 14px;color:#c6d1df}.auth-panel-links--primary a{flex:0 0 auto}.auth-security--title-only{align-items:center}.auth-security--title-only strong{margin-bottom:0}
.auth-forgot-card.auth-panel{max-width:none}.auth-forgot-card .auth-forgot-title::after{display:none}.auth-forgot-card .auth-forgot-help{color:#cbd7e4;text-align:center;line-height:1.55}
.member-login-shell .app,.member-login-shell .main{display:contents!important}.member-login-shell header{display:none!important}.member-login-shell .auth-portal{min-height:100svh}.member-login-shell .member-join-link{margin:18px 0 0;text-align:center;color:#c9d4e1}.member-login-shell .member-join-link a{color:var(--auth-gold-light)}
@media(max-width:1050px){.auth-portal{grid-template-columns:1fr;max-width:820px}.auth-panel-wrap{justify-self:center;max-width:560px}.auth-feature-grid{grid-template-columns:repeat(5,1fr)}.auth-aircraft--plane{left:62%}.auth-aircraft--heli{left:6%;bottom:30%}}
@media(max-width:700px){.auth-portal{padding:28px 18px 40px;gap:34px}.auth-product-name{font-size:42px}.auth-product-subtitle{font-size:17px;letter-spacing:.12em;margin-bottom:32px}.auth-portal-copy h1{font-size:38px}.auth-feature-grid{grid-template-columns:repeat(2,1fr)}.auth-feature:last-child{grid-column:1/-1}.auth-quote{margin-top:36px}.auth-panel{padding:28px 20px;border-radius:18px}.auth-panel h2{font-size:32px}.auth-form-meta{align-items:center;flex-direction:row;justify-content:center}.auth-aircraft{opacity:.08}.auth-aircraft--plane{font-size:100px}.auth-aircraft--heli{font-size:105px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Embedded login: show only the authentication panel, never the marketing column. */
body.auth-portal-embedded{min-height:0!important;background:transparent!important}
body.auth-portal-embedded .auth-aircraft,
body.auth-portal-embedded .auth-portal-brand{display:none!important}
body.auth-portal-embedded .auth-portal{min-height:0!important;width:100%!important;max-width:620px!important;grid-template-columns:minmax(0,1fr)!important;justify-content:center!important;align-items:start!important;gap:0!important;margin:0 auto!important;padding:clamp(16px,3vw,28px)!important}
body.auth-portal-embedded .auth-portal::before{display:none!important}
body.auth-portal-embedded .auth-panel-wrap{width:100%!important;max-width:560px!important;justify-self:center!important}
body.auth-portal-embedded .auth-panel{width:100%!important;box-sizing:border-box!important}
body.member-login-shell.auth-portal-embedded .app,
body.member-login-shell.auth-portal-embedded .main{min-height:0!important}
@media(max-width:700px){body.auth-portal-embedded .auth-portal{padding:12px!important}body.auth-portal-embedded .auth-panel{padding:24px 18px!important}}

/* Refinements: complete quote, iframe logo title and consistent panel width. */
.auth-quote{max-width:none;display:flex;align-items:baseline;justify-content:center;gap:9px;white-space:nowrap}
.auth-quote i{margin:0;color:var(--auth-gold)}
.auth-quote .fa-quote-right{margin-left:1px}
.auth-panel-login-logo{display:none;width:min(258px,72%);height:auto;margin:0 auto 22px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.28));border-radius:0;background:none}
body.auth-portal-embedded .auth-portal{max-width:560px!important}
body.auth-portal-embedded .auth-panel-wrap{max-width:500px!important}
body.auth-portal-embedded .auth-panel-login-title{display:none!important}
body.auth-portal-embedded .auth-panel-login-logo{display:block!important}
@media(max-width:700px){.auth-quote{white-space:normal;align-items:flex-start}.auth-portal-logo{width:min(290px,76vw)}.auth-panel-login-logo{width:min(232px,70%);margin-bottom:18px}}

/* Public member registration: same visual language as the member login panel. */
html body.page-members.member-signup-shell.member-standalone-shell:not(.member-login-shell) {
  background:
    radial-gradient(circle at 83% 6%, rgba(102,156,213,.45), transparent 25%),
    radial-gradient(circle at 35% 68%, rgba(27,78,120,.22), transparent 36%),
    linear-gradient(135deg,#031426 0%,#072643 54%,#031529 100%) !important;
  color: var(--auth-silver) !important;
  font-family: Inter,system-ui,-apple-system,"Segoe UI",Arial,sans-serif !important;
  overflow-x: hidden !important;
}

html body.page-members.member-signup-shell.member-standalone-shell:not(.member-login-shell)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background-image: radial-gradient(circle,rgba(224,176,83,.23) 1.5px,transparent 1.5px);
  background-size: 18px 18px;
  mask-image: linear-gradient(to left,#000 0 16%,transparent 31%);
  pointer-events: none;
}

body.member-signup-shell header {
  display: none !important;
}

body.member-signup-shell .app {
  min-height: 100svh !important;
  background: transparent !important;
}

body.member-signup-shell .main {
  box-sizing: border-box !important;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: clamp(28px,5vw,64px) clamp(14px,4vw,40px) !important;
}

body.member-signup-shell #member-editor.member-signup-panel {
  position: relative !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: clamp(28px,4vw,52px) !important;
  overflow: hidden !important;
  color: var(--auth-silver) !important;
  background: linear-gradient(155deg,rgba(16,55,91,.94),rgba(4,26,48,.96)) !important;
  border: 1px solid var(--auth-line) !important;
  border-radius: 24px !important;
  box-shadow: 0 35px 75px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.member-signup-shell #member-editor.member-signup-panel::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 26%;
  right: 26%;
  height: 2px;
  background: linear-gradient(90deg,transparent,#ffe6a2,transparent);
  box-shadow: 0 0 16px #f1c265;
}

body.member-signup-shell #member-editor > h2 {
  margin: 0 0 34px !important;
  color: #fff !important;
  font-size: clamp(30px,4vw,38px) !important;
  font-weight: 650 !important;
  text-align: center !important;
}

body.member-signup-shell #member-editor > h2::after {
  content: "";
  display: block;
  width: 62px;
  height: 2px;
  margin: 18px auto 0;
  background: var(--auth-gold-light);
}

body.member-signup-shell #member-editor .form {
  gap: 10px !important;
}

body.member-signup-shell #member-editor .row,
body.member-signup-shell #member-editor .row.two-up {
  column-gap: 16px !important;
  row-gap: 6px !important;
}

body.member-signup-shell #member-editor label,
body.member-signup-shell #member-editor .label {
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

body.member-signup-shell #member-editor input[type=text],
body.member-signup-shell #member-editor input[type=email],
body.member-signup-shell #member-editor input[type=tel],
body.member-signup-shell #member-editor input[type=password],
body.member-signup-shell #member-editor input[type=number],
body.member-signup-shell #member-editor input[type=date],
body.member-signup-shell #member-editor input[type=time],
body.member-signup-shell #member-editor select,
body.member-signup-shell #member-editor textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 44px !important;
  height: 44px !important;
  box-sizing: border-box !important;
  padding: 8px 14px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background-color: rgba(5,28,52,.62) !important;
  border: 1px solid rgba(185,204,226,.4) !important;
  border-radius: 8px !important;
  box-shadow: none !important;
}

body.member-signup-shell #member-editor select {
  background-image:
    linear-gradient(45deg,transparent 50%,#c5d2df 50%),
    linear-gradient(135deg,#c5d2df 50%,transparent 50%) !important;
}

body.member-signup-shell #member-editor textarea {
  min-height: 88px !important;
  height: 88px !important;
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

body.member-signup-shell #member-editor input:focus,
body.member-signup-shell #member-editor select:focus,
body.member-signup-shell #member-editor textarea:focus {
  outline: 0 !important;
  border-color: var(--auth-gold-light) !important;
  box-shadow: 0 0 0 3px rgba(226,177,84,.15) !important;
}

body.member-signup-shell #member-editor input::placeholder,
body.member-signup-shell #member-editor textarea::placeholder {
  color: #aab8c8 !important;
  -webkit-text-fill-color: #aab8c8 !important;
  opacity: 1 !important;
}

body.member-signup-shell #member-editor input[readonly] {
  color: #c5d2df !important;
  -webkit-text-fill-color: #c5d2df !important;
  background-color: rgba(255,255,255,.08) !important;
}

body.member-signup-shell #member-editor .note {
  margin-top: 4px !important;
  padding: 12px 16px !important;
  color: #cbd7e4 !important;
  line-height: 1.55 !important;
  background: rgba(5,28,52,.45) !important;
  border: 1px solid rgba(185,204,226,.22) !important;
  border-radius: 10px !important;
}

body.member-signup-shell #member-editor .note a {
  color: var(--auth-gold-light) !important;
}

body.member-signup-shell #member-editor .actions {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  margin-top: 4px !important;
}

body.member-signup-shell #member-editor .btn {
  min-height: 48px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}

body.member-signup-shell #member-editor .btn.primary {
  color: #07182a !important;
  background: linear-gradient(135deg,#e4b24f,#f2d17a 55%,#c89435) !important;
  border: 1px solid #ffe29a !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.55) !important;
}

body.member-signup-shell #member-editor .btn.secondary {
  color: #e7eef7 !important;
  background: rgba(5,28,52,.62) !important;
  border: 1px solid rgba(185,204,226,.4) !important;
}

body.member-signup-shell .notice {
  box-sizing: border-box !important;
  max-width: 1100px !important;
  margin: 0 auto 18px !important;
  color: #e7eef7 !important;
  background: rgba(9,39,68,.96) !important;
  border-color: rgba(185,204,226,.35) !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.28) !important;
}

body.member-signup-shell .notice p {
  color: #cbd7e4 !important;
}

@media (max-width: 860px) {
  body.member-signup-shell #member-editor .row,
  body.member-signup-shell #member-editor .row.two-up {
    grid-template-columns: 1fr !important;
  }

  body.member-signup-shell #member-editor .row label {
    margin-top: 4px !important;
  }
}

@media (max-width: 700px) {
  body.member-signup-shell .main {
    padding: 14px 10px 24px !important;
  }

  body.member-signup-shell #member-editor.member-signup-panel {
    padding: 28px 20px !important;
    border-radius: 18px !important;
  }

}

/* Opret Klub: diagonal 3D corner ribbon on the member-system login panel. */
.create-club-ribbon {
  position: absolute;
  top: 24px;
  right: -48px;
  z-index: 5;
  width: 190px;
  box-sizing: border-box;
  padding: 9px 12px;
  transform: rotate(45deg);
  transform-origin: center;
  border-top: 1px solid var(--auth-gold-light);
  border-bottom: 1px solid rgba(91,61,7,.78);
  background: linear-gradient(180deg,#fff0ad 0%,#f5d884 18%,#dfad55 48%,#b47d1f 76%,#8f6518 100%);
  box-shadow: 0 6px 12px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.72), inset 0 -2px 0 rgba(79,50,0,.22);
  color: #241900 !important;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: .04em;
  text-align: center;
  text-decoration: none !important;
  text-transform: uppercase;
  text-shadow: 0 1px 0 rgba(255,255,255,.52);
  transition: filter .16s ease, box-shadow .16s ease;
}
.create-club-ribbon:hover,
.create-club-ribbon:focus-visible {
  filter: brightness(1.08);
  box-shadow: 0 7px 14px rgba(0,0,0,.44), inset 0 1px 0 rgba(255,255,255,.78), inset 0 -2px 0 rgba(79,50,0,.22);
}
.create-club-ribbon:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}
@media (max-width:700px) {
  .create-club-ribbon {
    top: 19px;
    right: -59px;
    width: 190px;
    padding: 7px 10px;
    font-size: 11px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .create-club-ribbon { transition: none; }
}


/* Mobil: Logo/produktnavn først, derefter loginboksen og dernæst portalteksten. */
@media (max-width:700px){
  body:not(.auth-portal-embedded) .auth-portal{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0;
  }

  body:not(.auth-portal-embedded) .auth-portal-brand{
    display:contents;
  }

  body:not(.auth-portal-embedded) .auth-portal-logo{
    order:1;
    margin-bottom:0;
  }

  body:not(.auth-portal-embedded) .auth-product-name{
    order:2;
  }

  body:not(.auth-portal-embedded) .auth-product-subtitle{
    order:3;
    margin-bottom:0;
    white-space:nowrap;
    font-size:clamp(14px,4.4vw,17px);
    letter-spacing:.08em;
  }

  body:not(.auth-portal-embedded) .auth-panel-wrap{
    order:4;
    align-self:center;
    margin-top:30px;
    margin-bottom:0;
  }

  body:not(.auth-portal-embedded) .auth-quote{
    order:5;
    display:flex;
    margin:34px auto 0;
    max-width:100%;
    white-space:nowrap;
    font-size:clamp(13px,3.7vw,17px);
    line-height:1.35;
    gap:7px;
  }

  body:not(.auth-portal-embedded) .auth-portal-copy,
  body:not(.auth-portal-embedded) .auth-feature-grid{
    display:none;
  }

  .auth-quick-start-link,
  .auth-quick-start-separator{
    display:none!important;
  }
}

/* Secondary create-club action below the primary login button. */
.auth-panel .auth-create-club-button{
  margin-top:8px;
  width:100%;
  min-height:58px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:2px solid var(--auth-gold);
  border-radius:8px;
  background:transparent;
  color:var(--auth-gold-light);
  font-size:16px;
  font-weight:800;
  line-height:1.2;
  text-decoration:none;
  box-shadow:none;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.auth-panel .auth-create-club-button:hover,
.auth-panel .auth-create-club-button:focus-visible{
  background:rgba(226,177,84,.08);
  border-color:var(--auth-gold-light);
  color:#ffe6a2;
}
.auth-panel .auth-create-club-button:focus-visible{
  outline:3px solid rgba(226,177,84,.2);
  outline-offset:2px;
}
