/* DigiCD login. Scoped to WordPress login pages; no authentication changes. */
html { min-height: 100%; background: #101510; }
body.login {
  --dc-gold: #e5bc7d;
  --dc-text: #f2f0e8;
  --dc-muted: #b1b5a8;
  min-height: 100vh;
  height: auto;
  margin: 0;
  color: var(--dc-text);
  font: 15px/1.6 'Segoe UI', sans-serif;
  background:
    radial-gradient(ellipse at 12% 35%, #85602a29, transparent 48%),
    radial-gradient(ellipse at 95% 95%, #b8813024, transparent 44%),
    linear-gradient(135deg, #151d17, #101410 58%, #1c1c14);
}
body.login::before {
  content: ''; position: fixed; inset: 18px; pointer-events: none;
  border: 1px solid #bd914842; border-radius: 2px;
}
.login * { box-sizing: border-box; }
.digicd-login-shell {
  width: min(1180px, 100%); margin: auto; padding: 68px 50px;
  display: grid; grid-template-columns: minmax(0, 1fr) 420px;
  align-items: center; gap: clamp(48px, 7vw, 110px); min-height: 100vh;
}
.digicd-login-story { align-self: stretch; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; }
.digicd-login-brand .logo {
  color: #f2f0e8; font: 750 56px/1 'Segoe UI', sans-serif;
  letter-spacing: -4px; text-decoration: none; display: inline-block;
}
.digicd-login-brand .logo span { font-weight: 300; }
.digicd-login-brand .logo i { font-size: 31px; letter-spacing: -6.7px; font-style: normal; color: #e3ac7c; margin-left: 6.7px; }
.digicd-brand-caption { display: block; margin-top: 17px; color: #b1b5a8; font-size: 9px; letter-spacing: 2.4px; }
.digicd-login-story-copy { padding: 72px 0 60px; }
.digicd-login-kicker { color: var(--dc-gold); font-size: 10px; letter-spacing: 2.5px; display: flex; gap: 15px; align-items: center; }
.digicd-login-kicker::before { content: ''; width: 28px; height: 1px; background: var(--dc-gold); }
.digicd-login-story h1 { font: 400 clamp(49px, 5.1vw, 72px)/1.08 Georgia, 'Times New Roman', serif; text-align: left; letter-spacing: -2.2px; margin: 28px 0 24px; }
.digicd-login-story h1 em {
  display: block; padding: 0 8px 9px 0; font-weight: 400; line-height: 1.1;
  color: #f0ca8d; background: linear-gradient(110deg, #b9843c 0%, #fce7b4 28%, #d9a45b 48%, #ffe9ba 69%, #c4924f 100%);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 14px #eab56020);
}
.digicd-login-description { color: var(--dc-muted); max-width: 360px; font-size: 15px; line-height: 1.85; margin: 0; }
.digicd-login-ornament { color: var(--dc-gold); display: flex; align-items: center; gap: 15px; width: 170px; margin: 30px 0 19px; font-size: 18px; }
.digicd-login-ornament span { height: 1px; flex: 1; background: linear-gradient(90deg, #d0a76a80, #d0a76a15); }
.digicd-login-ornament span:first-child { transform: rotate(180deg); }
.digicd-login-signature { font: italic 22px/1.4 Georgia, serif; color: #e0bd89; margin: 0; }
.digicd-login-story-foot { margin: 0; color: #9fa99d; font-size: 11px; letter-spacing: 1.4px; }
.digicd-login-panel {
  min-width: 0; padding: 36px 32px 26px; position: relative;
  border: 1px solid #b7965c50; border-radius: 18px;
  background: linear-gradient(145deg, #263027df, #171e19ed 65%);
  box-shadow: 0 24px 70px #0005, inset 0 1px 0 #f4deb716;
}
.digicd-login-panel::before { content: ''; position: absolute; top: -1px; left: 18%; right: 18%; height: 1px; background: linear-gradient(90deg, transparent, #f1d29e, transparent); }
.digicd-login-overline { color: var(--dc-gold); font-size: 10px; letter-spacing: 2px; }
.digicd-login-intro h2 { margin: 13px 0 9px; font: 400 30px/1.2 Georgia, serif; letter-spacing: -.5px; }
.digicd-login-intro p { color: var(--dc-muted); font-size: 13px; margin: 0 0 23px; }
.login #login { width: 100%; padding: 0; margin: 0; }
.login #login > h1 { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.login #login > h1 a { background: none; }
.login form { border: 0; background: none; box-shadow: none; margin: 0; padding: 7px 0 0; overflow: visible; }
.login label { color: #e0e1d7; font-size: 13px; margin-bottom: 8px; }
.login input[type=text], .login input[type=password], .login input[type=email], .login select {
  width: 100%; min-width: 0; border: 1px solid #69715c; border-radius: 8px;
  background: #101712; color: #f2f0e8; padding: 11px 13px;
  font: 16px/1.5 'Segoe UI', sans-serif; min-height: 48px;
  box-shadow: inset 0 1px 4px #0003;
}
.login form .input { margin: 0 0 19px; }
.login input:focus, .login select:focus { border-color: #f1ca88; box-shadow: 0 0 0 3px #e5bc7d30; outline: none; }
.login input:-webkit-autofill { -webkit-text-fill-color: #f2f0e8; -webkit-box-shadow: 0 0 0 1000px #17221a inset; caret-color: #f2f0e8; }
.login .wp-pwd { position: relative; }
.login .wp-pwd input { padding-right: 48px; }
.login .button.wp-hide-pw { color: #e8c48c; width: 46px; height: 48px; min-width: 46px; border-radius: 8px; }
.login .button.wp-hide-pw:hover { color: #fff1cf; }
.login .button.wp-hide-pw:focus { border-color: #e5bc7d; box-shadow: 0 0 0 2px #e5bc7d44; }
.login form .forgetmenot { float: none; margin: 0 0 22px; display: flex; align-items: center; gap: 7px; }
.login form .forgetmenot label { font-size: 12px; margin: 0; }
.login input[type=checkbox] { width: 18px; height: 18px; min-width: 18px; border: 1px solid #89917c; background: #101712; border-radius: 4px; margin: 0; }
.login input[type=checkbox]:checked::before { filter: grayscale(1) brightness(2); margin: -2px; width: 20px; height: 20px; }
.login .submit { margin: 0; clear: both; }
.login .button-primary {
  float: none; width: 100%; min-height: 48px; border: 1px solid #e7c08a; border-radius: 8px;
  color: #211b11; background: linear-gradient(110deg, #dca96b, #f3d39d 56%, #dca96b);
  box-shadow: 0 5px 20px #0003, inset 0 1px 0 #fff5; text-shadow: none;
  font: 650 14px/1.5 'Segoe UI', sans-serif; padding: 12px 18px; cursor: pointer;
  transition: filter .15s, box-shadow .15s;
}
.login .button-primary:hover { background: linear-gradient(110deg, #eabd81, #ffe3b5 56%, #eabd81); border-color: #ffe0ab; color: #211b11; }
.login .button-primary:focus { background: #f2cd93; border-color: #fff1ca; color: #211b11; box-shadow: 0 0 0 3px #e5bc7d60; }
.login .button-primary:disabled { opacity: .55; }
.login .message, .login .success, .login #login_error {
  background: #e5bc7d09; color: #c2c9b9; border: 1px solid #cfa56324; border-left: 2px solid #bda06d;
  border-radius: 6px; box-shadow: none; margin: 0 0 15px; padding: 11px 13px; font-size: 12px; line-height: 1.6;
}
.login #login_error { border-left-color: #ed9b83; color: #ffdbd0; background: #d46e5a0e; }
.login .success { border-left-color: #a8c79b; }
.login #nav, .login #backtoblog { padding: 0; margin: 19px 0 0; font-size: 12px; }
.login #backtoblog { margin-top: 11px; }
.login #nav a, .login #backtoblog a, .login .privacy-policy-page-link a, .digicd-login-help a, .login #login_error a { color: #e2c18d; text-decoration: none; }
.login a:hover { color: #ffe6b5; }
.login a:focus-visible { outline: 2px solid #e5bc7d; outline-offset: 4px; border-radius: 2px; box-shadow: none; }
.login .privacy-policy-page-link { margin: 19px 0 0; font-size: 11px; }
.login .language-switcher { margin: 23px 0 0; padding: 20px 0 0; border-top: 1px solid #c9b28020; text-align: left; }
.login .language-switcher form { display: flex; align-items: center; gap: 8px; padding: 0; }
.login .language-switcher label { display: inline; }
.login .language-switcher select { flex: 1; width: 0; max-width: none; font-size: 12px; padding: 5px 25px 5px 9px; min-height: 36px; margin: 0; }
.login .language-switcher .button { border: 1px solid #7e785e; border-radius: 6px; background: transparent; color: #e2c18d; font-size: 12px; min-height: 36px; }
.digicd-login-help { border-top: 1px solid #c9b28020; margin-top: 23px; padding-top: 18px; color: #a6b09f; font-size: 11px; }
.digicd-login-help a { display: inline-block; }
.digicd-login-company { display: block; font-size: 10px; margin-top: 13px; letter-spacing: .6px; color: #929e8e; }
.login #pass-strength-result { color: #20251d; border-radius: 5px; font-size: 12px; }
.login .pw-weak { margin: 15px 0; }
.login .description, .login .indicator-hint { color: #b1b5a8; font-size: 12px; }
.login .wp-generate-pw { margin: 10px 0; background: #222e24; color: #e2c18d; border-color: #7e785e; }
@media (max-width: 900px) {
  .digicd-login-shell { padding: 48px 40px; gap: 38px; grid-template-columns: minmax(0, 1fr) 370px; }
  .digicd-login-panel { padding: 30px 25px 23px; }
  .digicd-login-story h1 { font-size: 49px; }
  .digicd-login-description { font-size: 13px; }
}
@media (max-width: 720px) {
  body.login::before { inset: 9px; }
  .digicd-login-shell { display: block; width: min(470px, 100%); padding: 34px 24px 29px; }
  .digicd-login-brand .logo { font-size: 42px; letter-spacing: -3px; }
  .digicd-login-brand .logo i { font-size: 23px; letter-spacing: -5px; margin-left: 5px; }
  .digicd-brand-caption { font-size: 8px; letter-spacing: 1.8px; margin-top: 12px; }
  .digicd-login-story-copy { padding: 27px 0 25px; }
  .digicd-login-kicker, .digicd-login-description, .digicd-login-ornament, .digicd-login-signature, .digicd-login-story-foot { display: none; }
  .digicd-login-story h1 { font-size: 36px; line-height: 1.12; margin: 0; letter-spacing: -.9px; }
  .digicd-login-story h1 br { display: none; }
  .digicd-login-story h1 em { display: inline; padding: 0; }
  .digicd-login-panel { padding: 27px 23px 22px; border-radius: 13px; }
  .digicd-login-intro h2 { font-size: 28px; }
  .login .language-switcher select { max-width: 146px; }
}
@media (max-width: 360px) {
  .digicd-login-shell { padding-inline: 20px; }
  .digicd-login-panel { padding-inline: 18px; }
  .digicd-login-story h1 { font-size: 32px; }
  .login .language-switcher select { max-width: 128px; }
}
.interim-login .digicd-login-shell { display: block; min-height: 0; max-width: 440px; padding: 20px; }
.interim-login .digicd-login-story { display: none; }
@media (prefers-reduced-motion: reduce) { .login * { transition: none !important; } }
@media (forced-colors: active) { .digicd-login-story h1 em { -webkit-text-fill-color: CanvasText; background: none; } }
