/* Isolated styles: native WordPress login and optional Elementor shortcode. */
body.login {
  --pps-wine: #410d19;
  --pps-ink: #34272a;
  --pps-gold: #cf833a;
  min-height: 100vh;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin: 0;
  background: linear-gradient(90deg, rgba(42, 4, 13, .96), rgba(64, 8, 20, .79) 46%, rgba(40, 4, 12, .69)), url('office.jpg') center 55% / cover no-repeat fixed;
  color: var(--pps-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}
body.login *, body.login *::before, body.login *::after { box-sizing: border-box; }
body.login #login {
  width: min(448px, calc(100% - 36px));
  margin: 32px max(5.5vw, 32px) 32px auto;
  padding: 36px 39px 30px;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .65);
  border-radius: 22px;
  box-shadow: 0 30px 100px rgba(18, 2, 6, .38);
  position: relative;
  z-index: 1;
}
body.login #login h1 a {
  display: block;
  background-image: url('logo-dark.png');
  background-position: center;
  background-size: contain;
  width: 215px;
  height: 95px;
  margin: 0 0 23px;
}
body.login .pps-login-intro { margin-bottom: 24px; }
body.login .pps-login-intro span {
  display: block;
  color: #a05d2c;
  font-size: 10px;
  letter-spacing: .19em;
  font-weight: 800;
}
body.login .pps-login-intro h2 {
  margin: 11px 0 6px;
  color: #341d25;
  font: 400 30px/1.18 Georgia, "Times New Roman", serif;
  letter-spacing: -.04em;
}
body.login .pps-login-intro p { margin: 0; color: #746c6b; line-height: 1.55; font-size: 13px; }
body.login #loginform, body.login #lostpasswordform, body.login #registerform, body.login #resetpassform {
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
body.login label { color: #46363b; font-size: 13px; font-weight: 650; }
body.login input[type="text"], body.login input[type="password"], body.login input[type="email"] {
  display: block;
  width: 100%;
  min-height: 47px;
  border: 1px solid #dfd5d3;
  border-radius: 9px;
  margin-top: 7px;
  padding: 10px 13px;
  background: #fcfaf9;
  color: #34272a;
  box-shadow: none;
  font-size: 15px;
}
body.login input:focus, .pps-modal input:focus { border-color: #aa6841; outline: 2px solid rgba(208, 131, 58, .24); outline-offset: 1px; box-shadow: none; }
body.login .wp-pwd button { top: 11px; }
body.login .forgetmenot { margin: 4px 0 18px; }
body.login .forgetmenot label { color: #675d60; font-weight: 400; }
body.login input[type="checkbox"] { border-color: #cbbdb9; border-radius: 4px; }
body.login input[type="checkbox"]:checked { background: #741e31; border-color: #741e31; }
body.login #wp-submit {
  float: none;
  display: block;
  width: 100%;
  min-height: 48px;
  border: 0;
  border-radius: 9px;
  margin-top: 8px;
  background: #581827;
  color: white;
  font-size: 14px;
  font-weight: 700;
  text-shadow: none;
  box-shadow: 0 9px 19px rgba(74, 15, 29, .16);
  transition: background .2s, transform .2s;
}
body.login #wp-submit:hover, body.login #wp-submit:focus { background: #7a2739; transform: translateY(-1px); }
body.login #nav, body.login #backtoblog { margin: 18px 0 0; padding: 0; }
body.login #nav a, body.login #backtoblog a { color: #684c51; font-size: 12px; text-decoration: none; }
body.login #nav a:hover, body.login #backtoblog a:hover { color: #912c43; }
body.login .message, body.login #login_error, body.login .success {
  border-left-color: #c9793b;
  border-radius: 8px;
  box-shadow: none;
  padding: 12px 15px;
  margin: 0 0 20px;
}
body.login #login_error { border-left-color: #ac384c; }
body.login .privacy-policy-page-link { margin: 12px 0; }
body.login .language-switcher { display: none; }
body.login .pps-login-editorial {
  position: absolute;
  left: max(6vw, 45px);
  top: 50%;
  width: min(49vw, 630px);
  transform: translateY(-50%);
  color: #fff;
  z-index: 0;
  pointer-events: none;
}
body.login .pps-login-editorial__label { color: #efb878; font-size: 10px; letter-spacing: .24em; font-weight: 800; }
body.login .pps-login-editorial h2 {
  margin: 28px 0 20px;
  font: 400 clamp(40px, 4.6vw, 72px)/1.05 Georgia, serif;
  letter-spacing: -.06em;
}
body.login .pps-login-editorial h2 em { color: #f0aa68; font-weight: 400; }
body.login .pps-login-editorial p { max-width: 450px; color: rgba(255, 255, 255, .77); font-size: 17px; line-height: 1.65; }
body.login .pps-login-editorial__rule { height: 1px; width: 45px; background: #e79a4c; margin: 39px 0 20px; }
body.login .pps-login-editorial small { color: rgba(255, 255, 255, .64); font-size: 11px; letter-spacing: .04em; }
@media (max-width: 960px) {
  body.login { justify-content: center; }
  body.login .pps-login-editorial { display: none; }
  body.login #login { margin: 24px auto; }
}
@media (max-width: 480px) {
  body.login #login { padding: 26px 23px; }
}

.pps-open-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  min-height: 46px;
  padding: 11px 19px;
  border: 0;
  border-radius: 9px;
  background: #581827;
  color: #fff;
  font: 700 14px/1.3 -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-decoration: none;
  cursor: pointer;
  box-shadow: 0 9px 19px rgba(74, 15, 29, .15);
  transition: transform .2s, background .2s;
}
.pps-open-button:hover, .pps-open-button:focus { color: #fff; background: #76283a; transform: translateY(-1px); }
.pps-open-button span { font-size: 19px; font-weight: 400; line-height: 1; }
.pps-modal[hidden] { display: none !important; }
.pps-modal { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 18px; }
.pps-modal__backdrop { position: absolute; inset: 0; background: rgba(25, 7, 15, .72); backdrop-filter: blur(7px); -webkit-backdrop-filter: blur(7px); }
.pps-modal__panel {
  position: relative;
  isolation: isolate;
  overflow: auto;
  max-height: min(94vh, 760px);
  width: min(100%, 440px);
  padding: 31px 36px 30px;
  background: #fff;
  border: 1px solid #f2e4dd;
  border-radius: 19px;
  box-shadow: 0 36px 100px rgba(19, 3, 9, .38);
  color: #34272a;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  text-align: left;
}
.pps-modal__panel *, .pps-modal__panel *::before, .pps-modal__panel *::after { box-sizing: border-box; }
.pps-modal__close { position: absolute; right: 20px; top: 18px; border: 0; background: #f7f2ef; border-radius: 50%; width: 32px; height: 32px; color: #704953; font-size: 23px; line-height: 30px; cursor: pointer; }
.pps-modal__close:hover { background: #efe4df; }
.pps-modal__logo { display: block; width: 215px; height: auto; margin: 0 0 8px; }
.pps-modal__eyebrow { color: #a05d2c; font-size: 10px; font-weight: 800; letter-spacing: .17em; }
.pps-modal__panel h2 { margin: 11px 0 5px; color: #341d25; font: 400 28px/1.18 Georgia, serif; letter-spacing: -.04em; }
.pps-modal__description { margin: 0 0 21px; color: #746c6b; font-size: 13px; line-height: 1.6; }
.pps-modal__form p { margin: 0 0 15px; }
.pps-modal__form label { display: block; color: #46363b; font-size: 13px; font-weight: 650; margin-bottom: 7px; }
.pps-modal__form input[type="text"], .pps-modal__form input[type="password"] { display: block; width: 100%; min-height: 47px; padding: 10px 12px; border: 1px solid #dfd5d3; border-radius: 9px; background: #fcfaf9; color: #34272a; font-size: 15px; }
.pps-modal__form .login-remember { margin: 4px 0 18px; }
.pps-modal__form .login-remember label { display: flex; align-items: center; gap: 8px; color: #675d60; font-weight: 400; margin: 0; }
.pps-modal__form .login-submit { margin-bottom: 0; }
.pps-modal__form .button-primary { display: block; width: 100%; min-height: 48px; border: 0; border-radius: 9px; background: #581827; color: #fff; font-size: 14px; font-weight: 700; cursor: pointer; }
.pps-modal__form .button-primary:hover { background: #7a2739; }
.pps-modal__lost { display: block; margin-top: 15px; color: #793649; font-size: 12px; font-weight: 650; text-decoration: none; }
.pps-modal__lost:hover { text-decoration: underline; color: #793649; }
.pps-modal__note { margin-top: 22px; border-top: 1px solid #efe9e6; padding-top: 16px; color: #7f7776; font-size: 11px; line-height: 1.5; }
body.pps-modal-open { overflow: hidden; }
@media (max-width: 480px) { .pps-modal__panel { padding: 23px; } }
@media (prefers-reduced-motion: reduce) { .pps-open-button, body.login #wp-submit { transition: none; } }