:root { --auth-accent:#3366CC; }

/* Top bar links */
.top-auth-wrap { font-size: 13px; }
.top-auth-link { color:#fff !important; font-weight:700; text-transform:none !important; }
.top-auth-sep { color:#fff; opacity:.9; margin:0 10px; }

/* Overlay */
.auth-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.55);
  display:none; align-items:center; justify-content:center; z-index:999999;
  padding:16px;
}
.auth-overlay.is-open{ display:flex; }

/* Modal */
.auth-modal{
  width:min(980px, 96vw); background:#fff; border-radius:10px; overflow:hidden;
  position:relative; box-shadow:0 15px 60px rgba(0,0,0,.35);
}
.auth-close{
  position:absolute; top:10px; right:12px; width:38px; height:38px;
  border:0; background:transparent; font-size:30px; line-height:38px; cursor:pointer;
  opacity:.7;
}
.auth-close:hover{ opacity:1; }

.auth-grid{ display:grid; grid-template-columns: 42% 58%; min-height:520px; }

/* Left panel */
.auth-left{ background:var(--auth-accent); color:#fff; display:flex; align-items:center; justify-content:center; padding:34px; }
.auth-left-inner{ text-align:center; max-width:320px; }
.auth-left-title{ color:#fff; margin:0 0 10px; font-weight:800; letter-spacing:.5px; }
.auth-left-text{ margin:0 0 18px; opacity:.95; }
.auth-left-btn{
  border:2px solid rgba(255,255,255,.9); background:transparent; color:#fff;
  padding:10px 18px; border-radius:6px; font-weight:800; cursor:pointer;
}
.auth-left-btn:hover{ background:rgba(255,255,255,.12); }

/* Right panel */
.auth-right{ padding:34px; display:flex; align-items:center; }
.auth-right-inner{ width:100%; }
.auth-title{ margin:0 0 16px; font-weight:900; letter-spacing:.4px; }

/* Woo form look */
.auth-modal .woocommerce form .form-row { margin-bottom:12px; }
.auth-modal .woocommerce form .input-text { width:100%; }
.auth-modal .woocommerce button.button,
.auth-modal .woocommerce-Button.button{
  background:var(--auth-accent) !important; border-color:var(--auth-accent) !important;
  color:#fff !important; font-weight:800; border-radius:6px;
  padding:10px 16px;
}
.auth-modal .woocommerce button.button:hover,
.auth-modal .woocommerce-Button.button:hover{ filter:brightness(.95); }

.auth-note{ margin: 0 0 12px; opacity:.85; }

/* Fallback (logged in / no woo) */
.auth-fallback{ padding:34px; }

/* Mobile */
@media (max-width: 860px){
  .auth-grid{ grid-template-columns: 1fr; }
  .auth-left{ padding:22px; }
  .auth-right{ padding:22px; }
  .auth-modal{ width:min(560px, 96vw); }
}
