/* =========================================================
    AUTH (registro & login) – standalone (sin header/footer)
    ========================================================= */
:root{
  --brand:#2DA1AF; --brand-ink:#1a6d76;
  --text:#0f172a;  --muted:#64748b; --line:#e5e7eb;
  --card:#ffffff;  --radius:18px;  --shadow-md:0 8px 32px rgba(0,0,0,.05);
}

/* body extra para auth standalone */
body.auth-standalone{background:var(--bg,#f7fafc)}

/* ----- sección hero a alto completo, centrado ----- */
.auth-hero{
  min-height:100vh;
  display:flex; align-items:center;
  padding:40px 0;
  position:relative; z-index:0;
  background:
    radial-gradient(circle at 20% 20%,rgba(45,161,175,.12) 0 55%,transparent 60%) no-repeat,
    radial-gradient(circle at 85% 0,rgba(45,161,175,.09) 0 55%,transparent 60%) no-repeat,
    var(--bg,#f7fafc);
}
.auth-hero > .container{ width:min(1240px,94vw); }

/* ----- layout interior ----- */
.auth-grid{
  display:grid; grid-template-columns:1.1fr 1fr;
  gap:48px;
  align-items:center;
}
@media (max-width:960px){ .auth-grid{grid-template-columns:1fr;gap:40px} }
@media (max-width:640px){ .auth-grid{gap:32px} }

/* ----- Intro lateral ----- */
.auth-intro h1{margin:0 0 10px;font-size:clamp(28px,3.8vw,36px);font-weight:900;letter-spacing:-.025em; color: var(--text);}
.auth-intro .muted{margin:0 0 32px;font-size:17px;max-width:55ch; line-height: 1.6;}
.auth-alt{margin-top:32px;font-size:.95rem}

/* ----- Card compacta ----- */
.auth-card{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  padding:28px 24px;box-shadow:var(--shadow-md);
}
@media (max-width:640px){ .auth-card{padding:24px 18px} }

.auth-notice{padding:10px 12px;border-radius:14px;margin:0 0 16px;font-weight:700}
.auth-notice.success{background:#ecfdf4;border:1px solid #bbf7d0;color:#0f7c5b}
.auth-notice.error  {background:#fef2f2;border:1px solid #fecaca;color:#c02626}

/* ----- Callout profesional ----- */
.auth-callout{
  display:flex; gap:12px; align-items:flex-start;
  padding:12px; border:1px solid #cfe8ec; background:#f2fbfd;
  border-radius:12px; margin:0 0 16px; box-shadow:0 1px 2px rgba(0,0,0,.02);
}
.auth-callout .ic{
  width:20px;height:20px;flex:0 0 20px;background:#ff0000;border-radius:6px;margin-top:2px;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23fff' d='M480-120q-75 0-141-28.5T222-222q-49-49-77.5-115T116-480q0-77 28.5-143T222-738q49-49 115-77.5T480-844q77 0 143 28.5T738-738q49 49 77.5 115T844-480q0 75-28.5 141T738-222q-49 49-115 77.5T480-120Zm0-60q117 0 198.5-81.5T760-460q0-118-81.5-199T480-740q-118 0-199 81T200-460q0 117 81 198.5T480-180Zm0-110q17 0 28.5-11.5T520-330q0-17-11.5-28.5T480-370q-17 0-28.5 11.5T440-330q0 17 11.5 28.5T480-290Zm-40-140h80v-220h-80v220Z'/%3E%3C/svg%3E") center/100% no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23fff' d='M480-120q-75 0-141-28.5T222-222q-49-49-77.5-115T116-480q0-77 28.5-143T222-738q49-49 115-77.5T480-844q77 0 143 28.5T738-738q49 49 77.5 115T844-480q0 75-28.5 141T738-222q-49 49-115 77.5T480-120Zm0-60q117 0 198.5-81.5T760-460q0-118-81.5-199T480-740q-118 0-199 81T200-460q0 117 81 198.5T480-180Zm0-110q17 0 28.5-11.5T520-330q0-17-11.5-28.5T480-370q-17 0-28.5 11.5T440-330q0 17 11.5 28.5T480-290Zm-40-140h80v-220h-80v220Z'/%3E%3C/svg%3E") center/100% no-repeat;
}

/* ===========================
    Formularios (una columna compacta)
    =========================== */
.dp-register-form, .dp-auth-form { display:grid; gap:16px; font-size:15px; }
.dp-field{display:grid;gap:6px}
.dp-field label{font-weight:600; color:var(--text);}
.dp-field input, .dp-field textarea {
  width:100%;padding:10px 14px;border:1px solid #d9e6ea;border-radius:12px;font-size:16px;
  transition:border-color .16s,box-shadow .16s;outline:0;background:#fff;resize:vertical;
}
.dp-field textarea{min-height:90px}
.dp-field input:focus, .dp-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(45,161,175,.18)}
.dp-field .helper{font-size:.8rem; color: var(--muted);}
.dp-field input::placeholder, .dp-field textarea::placeholder { color: #cbd5e1; opacity: 1; }
.dp-passwrap{position:relative;display:flex}
.dp-passwrap input{flex:1}
.dp-togglepw{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--muted)}
.dp-submit{
  width:100%;padding:14px 18px;border-radius:999px;border:0;cursor:pointer;
  background:var(--brand);color:#fff;font-weight:700;font-size:16px;letter-spacing:.01em;
  transition:background .18s,transform .18s,box-shadow .18s;
}
.dp-submit:hover{background:var(--brand-ink);transform:translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.1);}
.dp-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}
.dp-check{display:inline-flex;align-items:center;gap:8px}
input[type="checkbox"]{accent-color:var(--brand)}
.auth-legal{ margin-top:12px;font-size:.8rem;text-align:center;color:var(--muted) }
.auth-legal a{color:var(--brand);font-weight:600; text-decoration: none;}
.auth-legal a:hover{text-decoration: underline;}

/* === ESTILOS PARA LA LISTA DE CARACTERÍSTICAS === */
.feature-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.feature-list li { display: flex; align-items: flex-start; gap: 16px; }
.feature-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background-color: var(--brand); display: flex; align-items: center; justify-content: center; color: white; box-shadow: 0 4px 8px rgba(45, 161, 175, 0.15); }
.feature-icon svg { width: 24px; height: 24px; }
.feature-content h3 { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 4px; }
.feature-content p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.feature-content .feature-tagline { font-size: 15px; font-weight: 400; color: var(--text); margin-top: 8px; display: inline-block; padding-bottom: 2px; border-bottom: 2px solid; border-image-source: linear-gradient(to right, var(--brand), rgba(45, 161, 175, 0.2)); border-image-slice: 1; }

/* === INICIO CAMBIO PUNTO 1: ESTILOS PARA VALIDACIÓN === */
.dp-field input.error {
  border-color: #ef4444; /* Rojo de error */
}
.dp-error-message {
  color: #ef4444;
  font-size: 0.8rem;
  font-weight: 600;
  margin-top: 4px;
}
/* === FIN CAMBIO PUNTO 1 === */


/* =========================================================
    AUTH (registro & login) – standalone (sin header/footer)
    ========================================================= */
:root{
  --brand:#2DA1AF; --brand-ink:#1a6d76;
  --text:#0f172a;  --muted:#64748b; --line:#e5e7eb;
  --card:#ffffff;  --radius:18px;  --shadow-md:0 8px 32px rgba(0,0,0,.05);
}
body.auth-standalone{background:var(--bg,#f7fafc)}
.auth-hero{ min-height:100vh; display:flex; align-items:center; padding:40px 0; position:relative; z-index:0; background: radial-gradient(circle at 20% 20%,rgba(45,161,175,.12) 0 55%,transparent 60%) no-repeat, radial-gradient(circle at 85% 0,rgba(45,161,175,.09) 0 55%,transparent 60%) no-repeat, var(--bg,#f7fafc); }
.auth-hero > .container{ width:min(1240px,94vw); }
.auth-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:center; }
@media (max-width:960px){ .auth-grid{grid-template-columns:1fr;gap:40px} }
@media (max-width:640px){ .auth-grid{gap:32px} }
.auth-intro h1{margin:0 0 10px;font-size:clamp(28px,3.8vw,36px);font-weight:900;letter-spacing:-.025em; color: var(--text);}
.auth-intro .muted{margin:0 0 32px;font-size:17px;max-width:55ch; line-height: 1.6;}
.auth-alt{margin-top:32px;font-size:.95rem}
.auth-card{ background:var(--card);border:1px solid var(--line);border-radius:var(--radius); padding:28px 24px;box-shadow:var(--shadow-md); }
@media (max-width:640px){ .auth-card{padding:24px 18px} }
.auth-notice{padding:10px 12px;border-radius:14px;margin:0 0 16px;font-weight:700}
.auth-notice.success{background:#ecfdf4;border:1px solid #bbf7d0;color:#0f7c5b}
.auth-notice.error  {background:#fef2f2;border:1px solid #fecaca;color:#c02626}
.auth-callout{ display:flex; gap:12px; align-items:flex-start; padding:12px; border:1px solid #cfe8ec; background:#f2fbfd; border-radius:12px; margin:0 0 16px; box-shadow:0 1px 2px rgba(0,0,0,.02); }
.auth-callout .ic{ width:20px;height:20px;flex:0 0 20px;background:#ff0000;border-radius:6px;margin-top:2px; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23fff' d='M480-120q-75 0-141-28.5T222-222q-49-49-77.5-115T116-480q0-77 28.5-143T222-738q49-49 115-77.5T480-844q77 0 143 28.5T738-738q49 49 77.5 115T844-480q0 75-28.5 141T738-222q-49 49-115 77.5T480-120Zm0-60q117 0 198.5-81.5T760-460q0-118-81.5-199T480-740q-118 0-199 81T200-460q0 117 81 198.5T480-180Zm0-110q17 0 28.5-11.5T520-330q0-17-11.5-28.5T480-370q-17 0-28.5 11.5T440-330q0 17 11.5 28.5T480-290Zm-40-140h80v-220h-80v220Z'/%3E%3C/svg%3E") center/100% no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -960 960 960'%3E%3Cpath fill='%23fff' d='M480-120q-75 0-141-28.5T222-222q-49-49-77.5-115T116-480q0-77 28.5-143T222-738q49-49 115-77.5T480-844q77 0 143 28.5T738-738q49 49 77.5 115T844-480q0 75-28.5 141T738-222q-49 49-115 77.5T480-120Zm0-60q117 0 198.5-81.5T760-460q0-118-81.5-199T480-740q-118 0-199 81T200-460q0 117 81 198.5T480-180Zm0-110q17 0 28.5-11.5T520-330q0-17-11.5-28.5T480-370q-17 0-28.5 11.5T440-330q0 17 11.5 28.5T480-290Zm-40-140h80v-220h-80v220Z'/%3E%3C/svg%3E") center/100% no-repeat; }
.dp-register-form, .dp-auth-form { display:grid; gap:16px; font-size:15px; }
.dp-field{display:grid;gap:6px}
.dp-field label{font-weight:600; color:var(--text);}
.dp-field input, .dp-field textarea { width:100%;padding:10px 14px;border:1px solid #d9e6ea;border-radius:12px;font-size:16px; transition:border-color .16s,box-shadow .16s;outline:0;background:#fff;resize:vertical; }
.dp-field textarea{min-height:90px}
.dp-field input:focus, .dp-field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(45,161,175,.18)}
.dp-field .helper{font-size:.8rem; color: var(--muted);}
.dp-field input::placeholder, .dp-field textarea::placeholder { color: #cbd5e1; opacity: 1; }
.dp-passwrap{position:relative;display:flex}
.dp-passwrap input{flex:1}
.dp-togglepw{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--muted)}
.dp-submit{ width:100%;padding:14px 18px;border-radius:999px;border:0;cursor:pointer; background:var(--brand);color:#fff;font-weight:700;font-size:16px;letter-spacing:.01em; transition:background .18s,transform .18s,box-shadow .18s; }
.dp-submit:hover{background:var(--brand-ink);transform:translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.1);}
.dp-row{display:flex;align-items:center;justify-content:space-between;font-size:.9rem}
.dp-check{display:inline-flex;align-items:center;gap:8px}
input[type="checkbox"]{accent-color:var(--brand)}
.auth-legal{ margin-top:12px;font-size:.8rem;text-align:center;color:var(--muted) }
.auth-legal a{color:var(--brand);font-weight:600; text-decoration: none;}
.auth-legal a:hover{text-decoration: underline;}
.feature-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 28px; }
.feature-list li { display: flex; align-items: flex-start; gap: 16px; }
.feature-icon { flex-shrink: 0; width: 40px; height: 40px; border-radius: 12px; background-color: var(--brand); display: flex; align-items: center; justify-content: center; color: white; box-shadow: 0 4px 8px rgba(45, 161, 175, 0.15); }
.feature-icon svg { width: 24px; height: 24px; }
.feature-content h3 { font-size: 17px; font-weight: 700; color: var(--text); margin: 0 0 4px; }
.feature-content p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.65; }
.feature-content .feature-tagline { font-size: 15px; font-weight: 400; color: var(--text); margin-top: 8px; display: inline-block; padding-bottom: 2px; border-bottom: 2px solid; border-image-source: linear-gradient(to right, var(--brand), rgba(45, 161, 175, 0.2)); border-image-slice: 1; }

/* === ESTILOS PARA VALIDACIÓN === */
.dp-field input.error { border-color: #ef4444; }
.dp-error-message { color: #ef4444; font-size: 0.8rem; font-weight: 600; margin-top: 4px; }

/* === NUEVO: Estilos para adaptar el formulario de wp-login.php a la estética de auth.css === */
.dp-auth-form .dp-form-row { display: grid; gap: 6px; }
.dp-auth-form .dp-form-row label { font-weight: 600; color: var(--text); }
.dp-auth-form .dp-input { width:100%; padding:10px 14px; border:1px solid #d9e6ea; border-radius:12px; font-size:16px; transition:border-color .16s,box-shadow .16s; outline:0; background:#fff; }
.dp-auth-form .dp-input:focus { border-color:var(--brand); box-shadow:0 0 0 3px rgba(45,161,175,.18); }
.dp-auth-form .submit { margin: 0; padding: 0; }
.dp-auth-form .dp-submit, .dp-auth-form #wp-submit { width:100% !important; padding:14px 18px; border-radius:999px !important; border:0; cursor:pointer; background:var(--brand) !important; color:#fff !important; font-weight:700; font-size:16px !important; letter-spacing:.01em; transition:background .18s,transform .18s,box-shadow .18s; text-shadow: none !important; box-shadow: none !important; height: auto !important; line-height: normal !important; text-transform: none !important; }
.dp-auth-form .dp-submit:hover, .dp-auth-form #wp-submit:hover { background:var(--brand-ink) !important; transform:translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.1) !important; }
.dp-auth-form .forgetmenot { margin-top: 8px; }
.login #nav, .login #backtoblog { padding: 0 !important; margin: 8px 0 !important; }
.login #nav a, .login #backtoblog a { color: var(--muted); }