.elementor-20227 .elementor-element.elementor-element-9925a8f > .elementor-element-populated{padding:0px 0px 0px 0px;}.elementor-20227 .elementor-element.elementor-element-fbe1330 > .elementor-widget-container{border-style:none;border-radius:0px 0px 0px 0px;}/* Start custom CSS for html, class: .elementor-element-fbe1330 *//* ========== VIRGO MAIN STYLES ========== */

.virgo-simple-container {
  max-width: 1400px;
  margin: 30px auto;
  padding: 20px;
}

.virgo-welcome {
  background: #f5f7fa;
  padding: 30px;
  border-radius: 8px;
  margin-bottom: 40px;
  border-left: 4px solid #1A395F;
}

.virgo-welcome h2 {
  color: #333;
  margin-top: 0;
  font-size: 1.8em;
}

.virgo-welcome p {
  color: #555;
  line-height: 1.6;
  font-size: 1.05em;
}

.login-prompt {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #ddd;
  font-weight: 500;
  color: #1A395F;
}

/* 30% / 70% Grid Layout */
.virgo-forms {
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 40px;
}

.form-section {
  background: white;
  padding: 30px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
}

.form-section h3 {
  color: #333;
  margin-top: 0;
  margin-bottom: 25px;
  padding-bottom: 15px;
  border-bottom: 2px solid #1A395F;
  font-size: 1.3em;
}

/* ========== LOGIN FORM STYLES ========== */

/* Hide legends and unwanted elements */
#wpmem_login_form fieldset legend {
  display: none !important;
}

#wpmem_login_form .button_div input[name="rememberme"],
#wpmem_login_form .button_div label[for="rememberme"],
#wpmem_login_form .link-text {
  display: none !important;
}

/* Login form fieldset - remove any default padding/margin */
#wpmem_login_form fieldset {
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

/* Login form labels */
#wpmem_login_form label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

/* Login form input containers - ensure full width */
#wpmem_login_form .div_text {
  margin-bottom: 20px;
  width: 100%;
}

/* Login form inputs - FULL WIDTH with no gaps */
#wpmem_login_form input[type="text"],
#wpmem_login_form input[type="password"],
#wpmem_login_form .username,
#wpmem_login_form .password {
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
  margin: 0;
}

#wpmem_login_form input[type="text"]:focus,
#wpmem_login_form input[type="password"]:focus {
  border-color: #1A395F;
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 57, 95, 0.1);
}

/* Login button */
#wpmem_login_form .button_div {
  text-align: center;
  padding: 10px 0;
  margin-top: 20px;
}

#wpmem_login_form .button_div .buttons {
  padding: 12px 50px;
  background: #1A395F;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.3s;
}

#wpmem_login_form .button_div .buttons:hover {
  background: #142b47;
}

/* ========== REGISTER FORM STYLES ========== */

/* Hide legend and required text */
#wpmem_register_form fieldset legend,
#wpmem_register_form .req-text {
  display: none !important;
}

/* Register form fieldset - 6 COLUMNS for better control */
#wpmem_register_form fieldset {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 20px 20px;
  border: none;
  padding: 0;
  margin: 0;
  width: 100%;
}

/* Register form labels */
#wpmem_register_form label {
  display: block;
  margin-bottom: 8px;
  font-weight: 500;
  color: #333;
  font-size: 14px;
}

/* Position labels and inputs in grid */
/* Row 1: Username, First Name, Last Name (each takes 2 columns = 3 fields per row) */
#wpmem_register_form label[for="username"] { grid-column: 1 / span 2; grid-row: 1; }
#wpmem_register_form label[for="username"] + .div_text { grid-column: 1 / span 2; grid-row: 2; }

#wpmem_register_form label[for="first_name"] { grid-column: 3 / span 2; grid-row: 1; }
#wpmem_register_form label[for="first_name"] + .div_text { grid-column: 3 / span 2; grid-row: 2; }

#wpmem_register_form label[for="last_name"] { grid-column: 5 / span 2; grid-row: 1; }
#wpmem_register_form label[for="last_name"] + .div_text { grid-column: 5 / span 2; grid-row: 2; }

/* Row 2: Company, Email, Phone (each takes 2 columns = 3 fields per row) */
#wpmem_register_form label[for="company"] { grid-column: 1 / span 2; grid-row: 3; }
#wpmem_register_form label[for="company"] + .div_text { grid-column: 1 / span 2; grid-row: 4; }

#wpmem_register_form label[for="user_email"] { grid-column: 3 / span 2; grid-row: 3; }
#wpmem_register_form label[for="user_email"] + .div_text { grid-column: 3 / span 2; grid-row: 4; }

#wpmem_register_form label[for="billing_phone"] { grid-column: 5 / span 2; grid-row: 3; }
#wpmem_register_form label[for="billing_phone"] + .div_text { grid-column: 5 / span 2; grid-row: 4; }

/* Row 3: City, State (each takes 3 columns = 50% width = 2 fields per row) */
#wpmem_register_form label[for="city"] { grid-column: 1 / span 3; grid-row: 5; }
#wpmem_register_form label[for="city"] + .div_text { grid-column: 1 / span 3; grid-row: 6; }

#wpmem_register_form label[for="state"] { grid-column: 4 / span 3; grid-row: 5; }
#wpmem_register_form label[for="state"] + .div_text { grid-column: 4 / span 3; grid-row: 6; }

/* Row 4: Password, Confirm Password (each takes 3 columns = 50% width = 2 fields per row) */
#wpmem_register_form label[for="password"] { grid-column: 1 / span 3; grid-row: 7; }
#wpmem_register_form label[for="password"] + .div_text { grid-column: 1 / span 3; grid-row: 8; }

#wpmem_register_form label[for="confirm_password"] { grid-column: 4 / span 3; grid-row: 7; }
#wpmem_register_form label[for="confirm_password"] + .div_text { grid-column: 4 / span 3; grid-row: 8; }

/* Register form input containers - ensure full width */
#wpmem_register_form .div_text {
  margin: 0;
  width: 100%;
}

/* Register form inputs - FULL WIDTH with no gaps */
#wpmem_register_form .textbox,
#wpmem_register_form input[type="text"],
#wpmem_register_form input[type="email"],
#wpmem_register_form input[type="password"] {
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  font-size: 14px;
  box-sizing: border-box;
  margin: 0;
}

#wpmem_register_form .textbox:focus,
#wpmem_register_form input:focus {
  border-color: #1A395F;
  outline: none;
  box-shadow: 0 0 0 3px rgba(26, 57, 95, 0.1);
}

/* Register button */
#wpmem_register_form .button_div {
  grid-column: 1 / -1;
  grid-row: 9;
  text-align: center;
  margin-top: 20px;
}

#wpmem_register_form .buttons {
  padding: 12px 50px;
  background: #1A395F;
  color: white;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: background 0.3s;
}

#wpmem_register_form .buttons:hover {
  background: #142b47;
}

/* Required asterisk styling */
#wpmem_register_form .req,
#wpmem_login_form .req {
  color: #e74c3c;
  margin-left: 3px;
}

/* Full width helper */
#wpmem_login, #wpmem_msg, #wpmem_reg, .wpmem_msg {
  width: 100% !important;
}

/* ========== DASHBOARD STYLES (with header/footer visible) ========== */

.virgo-dashboard {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}

.dashboard-frame {
  width: 100%;
  margin: 0;
  padding: 0;
}

.virgo-iframe {
  width: 100%;
  display: block;
  min-height: 900px;
}

/* Logout button - MAIN COLOR STYLE */
.logout-area {
  text-align: right;
  padding: 20px 40px;
  background: #f5f7fa;
}

.logout-area a {
  display: inline-block;
  padding: 12px 50px;
  background: #1A395F;
  color: white;
  text-decoration: none;
  border: none;
  border-radius: 4px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.logout-area a:hover {
  background: #142b47;
  box-shadow: 0 3px 8px rgba(0,0,0,0.15);
}

/* ========== MOBILE RESPONSIVE ========== */

/* Tablet view - 2 columns for register form */
@media (max-width: 1024px) {
  #wpmem_register_form fieldset {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Reset all grid positioning for tablet */
  #wpmem_register_form label,
  #wpmem_register_form .div_text {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  
  /* Register button spans full width */
  #wpmem_register_form .button_div {
    grid-column: 1 / -1 !important;
  }
}

/* Mobile view - single column layout */
@media (max-width: 768px) {
  /* Stack login and register forms vertically */
  .virgo-forms {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  
  .virgo-simple-container {
    padding: 15px;
  }
  
  .virgo-welcome {
    padding: 20px;
  }
  
  .virgo-welcome h2 {
    font-size: 1.5em;
  }
  
  .form-section {
    padding: 20px;
  }
  
  /* Single column for register form */
  #wpmem_register_form fieldset {
    grid-template-columns: 1fr;
    gap: 0;
  }
  
  /* CRITICAL: Reset ALL grid positioning for mobile */
  #wpmem_register_form label,
  #wpmem_register_form .div_text {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  
  /* Proper spacing for mobile form fields */
  #wpmem_register_form .div_text {
    margin-bottom: 15px;
  }
  
  /* Register button spans full width */
  #wpmem_register_form .button_div {
    grid-column: 1 !important;
    grid-row: auto !important;
    margin-top: 10px;
  }
  
  /* Increase font size to prevent zoom on iOS */
  #wpmem_login_form input[type="text"],
  #wpmem_login_form input[type="password"],
  #wpmem_register_form input[type="text"],
  #wpmem_register_form input[type="email"],
  #wpmem_register_form input[type="password"],
  #wpmem_register_form .textbox {
    font-size: 16px !important; /* Prevents zoom on mobile */
  }
  
  /* Adjust buttons for mobile */
  #wpmem_login_form .button_div .buttons,
  #wpmem_register_form .buttons {
    width: 100%;
    padding: 14px 20px;
  }
  
  .logout-area {
    text-align: center;
    padding: 15px 20px;
  }
  
  .logout-area a {
    padding: 10px 30px;
    font-size: 14px;
  }
  
  .virgo-iframe {
    min-height: 600px;
  }
}

/* Extra small mobile devices */
@media (max-width: 480px) {
  .virgo-simple-container {
    margin: 15px auto;
    padding: 10px;
  }
  
  .virgo-welcome {
    padding: 15px;
  }
  
  .form-section {
    padding: 15px;
  }
  
  .virgo-welcome h2 {
    font-size: 1.3em;
  }
  
  .form-section h3 {
    font-size: 1.1em;
  }
}/* End custom CSS */