@font-face{font-family:Cinzel;src:url("../fonts/cinzel-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Cinzel;src:url("../fonts/cinzel-500.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Cinzel;src:url("../fonts/cinzel-600.ttf") format("truetype");font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url("../fonts/montserrat-400.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url("../fonts/montserrat-500.ttf") format("truetype");font-weight:500;font-display:swap}
@font-face{font-family:Montserrat;src:url("../fonts/montserrat-600.ttf") format("truetype");font-weight:600;font-display:swap}

/* Fonts + auth chrome only — do NOT override mode_2.html layout metrics */
body.hm-body{font-family:Montserrat,"Trebuchet MS",Arial,sans-serif}
.hm-body .hero h1,
.hm-body .hero-title,
.hm-body .ornament-title,
.hm-body .panel-head,
.hm-body .small-panel h3,
.hm-body .card h3,
.hm-body h2{font-family:Cinzel,Georgia,serif}
.hm-body .hero h1{font-weight:400}
.hm-body .ornament-title{font-weight:600}
.hm-body .login-trigger{width:78px;height:40px;margin-left:auto;border:1px solid rgba(197,135,43,.42);border-radius:5px;background:rgba(255,255,255,.84);color:#343943;font-size:10px;font-weight:600;cursor:pointer}
.hm-body .login-trigger + .account{margin-left:9px}

/* Auth modals — must live outside .page (transform breaks position:fixed) */
.hm-body .login-modal[hidden],
.hm-body .register-modal[hidden]{display:none!important}

.hm-body .login-modal,
.hm-body .register-modal{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(20,24,31,.58);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
}

.hm-body .login-dialog{
  position:relative;
  width:min(350px,calc(100vw - 48px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:30px;
  border:1px solid rgba(213,160,75,.35);
  border-radius:13px;
  background:#fff;
  box-shadow:0 24px 70px rgba(17,20,26,.28);
}

.hm-body .register-dialog{width:min(410px,calc(100vw - 48px))}

.hm-body .login-close{
  position:absolute;
  top:12px;
  right:14px;
  width:30px;
  height:30px;
  border:0;
  background:transparent;
  color:#777e88;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}

.hm-body .login-mark{
  margin:0 0 5px;
  color:#d5a04b;
  text-align:center;
  font:500 28px Cinzel,serif;
  letter-spacing:.08em;
}

.hm-body .login-subtitle{
  margin:0 0 22px;
  color:#7a8089;
  text-align:center;
  font-size:10px;
  letter-spacing:.08em;
}

.hm-body .login-field{
  display:block;
  margin:0 0 13px;
  color:#343943;
  font-size:10px;
  font-weight:600;
}

.hm-body .login-field input{
  display:block;
  width:100%;
  height:42px;
  margin-top:7px;
  padding:0 13px;
  border:1px solid #dedfe2;
  border-radius:6px;
  background:#fff;
  color:#252a33;
  font:11px Montserrat,Arial,sans-serif;
  outline:none;
}

.hm-body .login-field input:focus{
  border-color:#d5a04b;
  box-shadow:0 0 0 3px rgba(213,160,75,.12);
}

.hm-body .login-options{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:4px 0 18px;
  color:#717782;
  font-size:9px;
}

.hm-body .login-options label{display:flex;align-items:center;gap:6px}
.hm-body .login-options a{color:#bd7f24;text-decoration:none}

.hm-body .login-options input[type="checkbox"],
.hm-body .register-terms input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:16px;
  height:16px;
  margin:0;
  flex-shrink:0;
  border:1px solid #c5872b;
  border-radius:3px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.6);
  cursor:pointer;
  vertical-align:middle;
}

.hm-body .login-options input[type="checkbox"]:checked,
.hm-body .register-terms input[type="checkbox"]:checked{
  border-color:#c5872b;
  background:#c5872b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' d='M1 5l3 3 7-7'/%3E%3C/svg%3E") center/10px 8px no-repeat;
}

.hm-body .login-options input[type="checkbox"]:focus-visible,
.hm-body .register-terms input[type="checkbox"]:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(213,160,75,.18);
}

.hm-body .login-submit{
  width:100%;
  height:43px;
  border:0;
  border-radius:6px;
  background:linear-gradient(#e2ad58,#ce9135);
  color:#fff;
  font-size:11px;
  font-weight:600;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(190,128,38,.22);
}

.hm-body .login-submit:hover{filter:brightness(1.03)}

.hm-body .login-feedback{
  min-height:14px;
  margin:11px 0 0;
  color:#bd7f24;
  text-align:center;
  font-size:9px;
}

.hm-body .register-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 12px;
}

.hm-body .register-grid .full{grid-column:1/-1}

.hm-body .register-terms{
  display:flex;
  align-items:flex-start;
  gap:7px;
  margin:2px 0 17px;
  color:#717782;
  font-size:9px;
  line-height:1.45;
}

.hm-body .register-terms input{margin-top:1px}
.hm-body .register-terms a{color:#bd7f24;text-decoration:none}

html.hm-modal-open,
body.hm-body.modal-open{
  overflow:hidden;
}

@media (max-width:520px){
  .hm-body .register-grid{grid-template-columns:1fr}
}
