/**
 * Login e registrazione — portato da includes/assets/css/style.css
 * (era in mezzo a card evento e partecipazioni). Stessi ID/classi
 * dell'originale (#museeker_loginform, .museeker-register-form):
 * zero modifiche richieste ai file PHP che li generano.
 */

#museeker_loginform {
  max-width: 450px;
  margin: 40px auto;
  padding: 40px 35px;
  background-color: var(--mk-surface);
  border: 1px solid var(--mk-accent-soft);
  border-radius: var(--mk-radius-lg);
  box-shadow: 0 4px 30px rgba(0, 224, 198, .1);
  backdrop-filter: blur(5px);
}
#museeker_loginform p { margin-bottom: 20px; }
#museeker_loginform label { display: block; margin-bottom: 8px; color: var(--mk-text); font-size: 15px; font-weight: 400; }
#museeker_loginform input[type="text"],
#museeker_loginform input[type="password"] {
  width: 100% !important;
  height: 45px !important;
  padding: 12px 15px !important;
  background-color: var(--mk-surface-2) !important;
  border: 1px solid var(--mk-accent) !important;
  border-radius: var(--mk-radius-lg) !important;
  color: var(--mk-accent) !important;
  font-size: 15px;
  transition: all .3s ease;
}
#museeker_loginform input[type="text"]:focus,
#museeker_loginform input[type="password"]:focus {
  outline: none;
  border-color: var(--mk-accent) !important;
  box-shadow: 0 0 8px var(--mk-accent-soft);
}
#museeker_loginform input[type="checkbox"] { margin-right: 8px; accent-color: var(--mk-accent); }
#museeker_loginform input[type="submit"] {
  width: 100% !important;
  height: auto !important;
  padding: 12px !important;
  background-color: var(--mk-accent) !important;
  color: var(--mk-on-accent) !important;
  border: 1px solid var(--mk-accent) !important;
  border-radius: var(--mk-radius-lg) !important;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
}
#museeker_loginform input[type="submit"]:hover {
  background-color: var(--mk-bg) !important;
  color: var(--mk-accent) !important;
  border: 1px solid var(--mk-accent) !important;
}
#museeker_loginform a { color: var(--mk-accent) !important; text-decoration: none; transition: all .3s ease; }
#museeker_loginform a:hover { text-decoration: underline; }
#togglePassword { color: var(--mk-accent); opacity: .8; }
#togglePassword:hover { opacity: 1; }

#museeker_loginform + div[style*="color:red"],
div[style*="color:red"] {
  background-color: var(--mk-danger);
  color: #fff !important;
  padding: 15px;
  border-radius: var(--mk-radius-sm);
  margin-bottom: 20px;
  text-align: center;
}

@media (max-width: 768px) {
  #museeker_loginform { max-width: 90%; padding: 30px 20px; }
}

/* ── Registrazione ───────────────────────────────────────────── */
.museeker-register-form {
  max-width: 500px;
  margin: 40px auto;
  padding: 40px 35px;
  background-color: var(--mk-surface);
  border: 1px solid var(--mk-accent-soft);
  border-radius: var(--mk-radius-lg);
  box-shadow: 0 4px 30px rgba(0, 224, 198, .1);
  backdrop-filter: blur(5px);
}
.museeker-register-form h3 { margin-bottom: 30px; color: var(--mk-accent); font-size: 24px; font-weight: 600; text-align: center; }
.museeker-register-form h4 { color: var(--mk-accent) !important; font-size: 18px; }
.museeker-register-form label { display: block; margin-bottom: 8px; color: var(--mk-text); font-size: 15px; font-weight: 400; }
.museeker-register-form input[type="text"],
.museeker-register-form input[type="email"],
.museeker-register-form input[type="password"] {
  box-sizing: border-box;
  width: 100% !important;
  height: 45px !important;
  padding: 12px 15px !important;
  background-color: var(--mk-surface-2) !important;
  border: 1px solid var(--mk-accent) !important;
  border-radius: var(--mk-radius-lg) !important;
  color: var(--mk-accent) !important;
  font-size: 15px;
  transition: all .3s ease;
}
.museeker-register-form input[type="text"]:focus,
.museeker-register-form input[type="email"]:focus,
.museeker-register-form input[type="password"]:focus {
  outline: none;
  border-color: var(--mk-accent) !important;
  box-shadow: 0 0 8px var(--mk-accent-soft);
}
.museeker-register-form input[type="checkbox"],
.museeker-register-form input[type="radio"] { accent-color: var(--mk-accent); margin-right: 8px; }
.museeker-register-form input[type="submit"] {
  width: 100% !important;
  height: auto !important;
  padding: 12px !important;
  background-color: var(--mk-accent) !important;
  color: var(--mk-on-accent) !important;
  border: 1px solid var(--mk-accent) !important;
  border-radius: var(--mk-radius-lg) !important;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  transition: all .3s ease;
}
.museeker-register-form input[type="submit"]:hover {
  background-color: var(--mk-bg) !important;
  color: var(--mk-accent) !important;
  border: 1px solid var(--mk-accent) !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px var(--mk-accent-soft);
}
.password-strength { font-size: 13px; font-weight: 500; }
.toggle-password { color: var(--mk-accent) !important; background: none !important; border: none !important; opacity: .8; }
.toggle-password:hover { opacity: 1 !important; }

.museeker-register-form .g-recaptcha,
.g-recaptcha {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 999 !important;
  min-height: 78px !important;
  margin: 20px 0 !important;
}
.username-field { margin-top: 10px; }

.museeker-register-form + p[style*="color:red"],
p[style*="background-color:red"] {
  background-color: var(--mk-danger) !important;
  color: #fff !important;
  padding: 15px;
  border-radius: var(--mk-radius-sm);
  margin-bottom: 20px;
  text-align: center;
}
p[style*="background-color:green"] {
  background-color: var(--mk-success) !important;
  color: #fff !important;
  padding: 15px;
  border-radius: var(--mk-radius-sm);
  margin-bottom: 20px;
  text-align: center;
}

@media (max-width: 768px) {
  .museeker-register-form { max-width: 90%; padding: 30px 20px; }
}

/* ── museeker_lost_password_form_shortcode (da shortcodes.php) ── */

#museeker_lostpass_form input[type="text"]:focus {
    outline: none;
    border-color: #FFE875 !important;
    box-shadow: 0 0 8px var(--mk-accent-soft);
}

#museeker_lostpass_form input[type="submit"]:hover {
    background-color: var(--mk-on-accent) !important;
    color: var(--mk-accent) !important;
    border: 1px solid var(--mk-accent) !important;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--mk-accent-soft);
}

#museeker_lostpass_form a:hover {
    color: #FFE875 !important;
    text-decoration: underline;
}

/* ── museeker_register_form_shortcode — blocco 1 (da shortcodes.php) ── */

.reg-role-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; margin-bottom:30px; }
@media(max-width:768px){
    .reg-role-grid { gap:8px; }
    .reg-role-grid .role-card-content { padding:14px 6px !important; }
    .reg-role-grid .role-card-content > div:first-child { font-size:32px !important; margin-bottom:6px !important; }
    .reg-role-grid .role-card-content > div:nth-child(2) { font-size:13px !important; }
    .reg-role-grid .role-card-content > div:nth-child(3) { font-size:11px !important; }
}
.reg-plan-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; }
@media(max-width:768px) { .reg-plan-grid { grid-template-columns:repeat(2,1fr); } .reg-plan-grid .reg-plan-label:first-child { grid-column:1/-1; } }
.reg-plan-label { cursor:pointer; }
.reg-plan-label input[type="radio"] { display:none; }
.reg-plan-card { border:2px solid #ddd; border-radius:10px; padding:14px 10px; text-align:center; background:#fff; transition:all .25s ease; position:relative; height:100%; box-sizing:border-box; }
.reg-plan-card:hover { border-color:var(--mk-accent); box-shadow:0 3px 12px var(--mk-accent-soft); }
.reg-plan-label input[type="radio"]:checked + .reg-plan-card { border-color:var(--mk-accent) !important; background:linear-gradient(135deg,#fff9e6 0%,#fff 100%) !important; box-shadow:0 4px 16px var(--mk-accent-soft); }
.reg-plan-label input[type="radio"]:checked + .reg-plan-card::after { content:'✓'; position:absolute; top:6px; right:8px; background:var(--mk-accent); color: var(--mk-on-accent); width:22px; height:22px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:13px; line-height:22px; }
.reg-plan-name { font-weight:700; font-size:13px; color: var(--mk-on-accent); margin-bottom:6px; }
.reg-plan-price { font-size:20px; font-weight:800; color: var(--mk-on-accent); line-height:1; }
.reg-plan-period { font-size:11px; color:#888; margin-bottom:4px; }
.reg-plan-desc { font-size:11px; color:#666; margin-top:4px; }
.reg-plan-badge { position:absolute; top:-8px; left:50%; transform:translateX(-50%); background:var(--mk-success); color:#fff; font-size:11px; font-weight:700; padding:2px 8px; border-radius:20px; white-space:nowrap; }

/* ── museeker_register_form_shortcode — blocco 2 (da shortcodes.php) ── */

/* Hover effect sulle card */
.role-card:hover .role-card-content {
    border-color:var(--mk-accent) !important;
    box-shadow:0 4px 15px var(--mk-accent-soft);
    transform:translateY(-5px);
}

/* Card selezionata */
.role-card input:checked + .role-card-content {
    border-color:var(--mk-accent) !important;
    background:linear-gradient(135deg, #fff9e6 0%, #fff 100%) !important;
    box-shadow:0 6px 20px var(--mk-accent-soft);
}

/* Checkmark */
.role-card input:checked + .role-card-content::after {
    content:'✓';
    position:absolute;
    top:10px;
    right:10px;
    background:var(--mk-accent);
    color: var(--mk-on-accent);
    width:30px;
    height:30px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:bold;
    font-size:18px;
}

/* Responsive */
@media (max-width: 768px) {
    div[style*="grid-template-columns:repeat(auto-fit, minmax(180px, 1fr))"] {
        grid-template-columns: 1fr !important;
    }
}

/* Benefits: visibili nell'HTML (per GTranslate), JS gestisce show/hide */
.benefits-role { display:none; }
.benefits-role.benefits-active { display:block; }
#benefits-content ul { list-style:none; padding-left:8px; }
#benefits-content li::before { content:'✅ '; }

/* Hover pulsante submit */
input[type="submit"]:hover {
    transform:translateY(-2px);
    box-shadow:0 6px 20px var(--mk-accent-soft);
}

/* Google Places Autocomplete dropdown - z-index alto per mobile */
.pac-container {
    z-index: 999999 !important;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    font-family: var(--mk-font-body);
    font-size: 14px;
}
.pac-item {
    padding: 8px 12px;
    cursor: pointer;
}
.pac-item:hover {
    background-color: var(--mk-text);
}

