/**
 * EYVALA CORE - Piel del rediseño para las pantallas que aún conservan su marcado anterior.
 *
 * Dentro de la hoja clara (.ey-paper) los botones, avisos, campos y títulos de siempre toman los colores y las
 * formas del sistema visual (docs/core-ux/DECISIONES.md): sin ámbar, sin relleno Coral con texto, foco visible.
 * No cambia ningún marcado, campo ni comportamiento. Rige en dos envoltorios:
 *  - .ey-forms: todo contenido de Core con marcado anterior. En páginas que solo contienen shortcodes (formularios y
 *    paneles) usa los colores del tema y sigue el modo claro/oscuro.
 *  - .ey-forms.ey-paper: contenido que no es de Core (p. ej. una página hecha en Elementor): además fuerza la hoja clara
 *    también en modo oscuro. Aquí se llevan a tokens TODOS los colores fijos de eyvala-account.css,
 *    eyvala-private-profile.css, eyvala-phone.css, eyvala-location.css, eyvala-copy-url.css, eyvala-wc-connector.css y
 *    de las variables de eyvala-private-id.css.
 * Solo usa tokens de eyvala-ui.css.
 */

/* ---------- Títulos ---------- */
.ey-app .ey-forms .eyvala-section-heading h1,
.ey-app .ey-forms .eyvala-section-heading h2,
.ey-app .ey-forms .eyvala-section-heading h3 {
    font-family: 'Eyvala Manrope', Manrope, Arial, sans-serif;
    font-weight: 700;
    color: var(--ey-ui-ink);
}

.ey-app .ey-forms .eyvala-section-heading p {
    color: var(--ey-ui-muted);
    opacity: 1;
}

/* ---------- Botones ---------- */
.ey-app .ey-forms .eyvala-button {
    min-height: 48px;
    padding: 0 18px;
    border: 1.5px solid transparent;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    cursor: pointer;
}

.ey-app .ey-forms .eyvala-button:hover {
    transform: none;
    opacity: 0.92;
}

.ey-app .ey-forms .eyvala-button-primary {
    background: var(--ey-ui-pri);
    color: var(--ey-ui-pri-ink) !important;
}

.ey-app .ey-forms .eyvala-button-secondary {
    border-color: var(--ey-ui-pri);
    background: transparent;
    color: var(--ey-ui-ink) !important;
}

.ey-app .ey-forms .eyvala-button-logout,
.ey-app .ey-forms .eyvala-button-danger {
    border-color: var(--ey-ui-bad);
    background: transparent;
    color: var(--ey-ui-bad) !important;
}

.ey-app .ey-forms .eyvala-button-warning {
    border-color: var(--ey-ui-crit-line);
    background: var(--ey-ui-crit-bg);
    color: var(--ey-ui-crit-ink) !important;
}

.ey-app .ey-forms .eyvala-button:focus-visible {
    outline: 3px solid var(--ey-ui-focus);
    outline-offset: 2px;
}

/* ---------- Avisos ---------- */
.ey-app .ey-forms .eyvala-alert {
    padding: 12px 14px;
    border-width: 1px;
    border-radius: 14px;
    font-size: 14px;
}

.ey-app .ey-forms .eyvala-alert-success {
    border-color: var(--ey-ui-ok);
    background: var(--ey-ui-ok-bg);
    color: var(--ey-ui-ok);
}

.ey-app .ey-forms .eyvala-alert-error {
    border-color: var(--ey-ui-bad);
    background: var(--ey-ui-bad-bg);
    color: var(--ey-ui-bad);
}

.ey-app .ey-forms .eyvala-alert-warning {
    border-color: var(--ey-ui-crit-line);
    background: var(--ey-ui-crit-bg);
    color: var(--ey-ui-crit-ink);
}

.ey-app .ey-forms .eyvala-alert-info {
    border-color: var(--ey-ui-info);
    background: var(--ey-ui-info-bg);
    color: var(--ey-ui-info);
}

/* ---------- Campos ---------- */
.ey-app .ey-forms input[type='text'],
.ey-app .ey-forms input[type='email'],
.ey-app .ey-forms input[type='password'],
.ey-app .ey-forms input[type='tel'],
.ey-app .ey-forms input[type='number'],
.ey-app .ey-forms input[type='date'],
.ey-app .ey-forms input[type='url'],
.ey-app .ey-forms input[type='search'],
.ey-app .ey-forms select,
.ey-app .ey-forms textarea {
    min-height: 48px;
    border: 1.5px solid var(--ey-ui-field-line);
    border-radius: 12px;
    background: var(--ey-ui-field);
    color: var(--ey-ui-ink);
    font-family: inherit;
    font-size: 15px;
}

.ey-app .ey-forms textarea {
    min-height: 96px;
}

.ey-app .ey-forms input:focus-visible,
.ey-app .ey-forms select:focus-visible,
.ey-app .ey-forms textarea:focus-visible {
    outline: 3px solid var(--ey-ui-focus);
    outline-offset: 2px;
}

.ey-app .ey-forms .eyvala-form-field label {
    color: var(--ey-ui-ink);
}

.ey-app .ey-forms .eyvala-field-error {
    color: var(--ey-ui-bad);
}

/* =====================================================================================================================
 * Formularios y paneles de Core con los colores del tema (claro y oscuro)
 * ================================================================================================================== */
.ey-app .ey-forms {
    --eyvala-id-bg: var(--ey-ui-bg);
    --eyvala-id-card: var(--ey-ui-surface);
    --eyvala-id-text: var(--ey-ui-ink);
    --eyvala-id-muted: var(--ey-ui-muted);
    --eyvala-id-border: var(--ey-ui-line);
    --eyvala-id-accent: var(--ey-ui-pri);
    --eyvala-id-soft: var(--ey-ui-tile);
    --eyvala-id-danger: var(--ey-ui-bad);
    --eyvala-id-warning: var(--ey-ui-crit-ink);

    color: var(--ey-ui-ink);
}

.ey-app .ey-forms a { color: inherit; }
.ey-app .ey-forms a:not([class]) { color: var(--ey-ui-info); text-decoration: underline; }
.ey-app .ey-forms hr { border: 0; border-top: 1px solid var(--ey-ui-line); }
.ey-app .ey-forms label,
.ey-app .ey-forms legend { color: var(--ey-ui-ink); }

/* Campos: etiquetas en negrita y separación vertical entre grupos (también los de teléfono y ubicación). */
.ey-app .ey-forms .eyvala-phone-field > label,
.ey-app .ey-forms .eyvala-location-country > label,
.ey-app .ey-forms .eyvala-location-city > label { display: block; margin-bottom: 6px; font-weight: 600; }

.ey-app .ey-forms .eyvala-phone-field,
.ey-app .ey-forms .eyvala-location-country,
.ey-app .ey-forms .eyvala-location-city { margin-bottom: 16px; }

/* El campo de archivo conserva su entrada oculta dentro de su caja (si no, desborda la pantalla en móvil). */
.ey-app .ey-forms .eyvala-file-field { position: relative; }

/* Avisos (ver arriba): iconos y colores ya en tokens; los de advertencia usan Coral suave con borde. */
.ey-app .ey-forms .eyvala-field-error,
.ey-app .ey-forms .eyvala-file-field-error { color: var(--ey-ui-bad); }

/* Estados de cuenta, mascota y suscripción: color + texto, sin ámbar. */
.ey-app .ey-forms .eyvala-status { border: 1px solid transparent; border-radius: 999px; font-weight: 600; }
.ey-app .ey-forms .eyvala-status-active { background: var(--ey-ui-ok-bg); color: var(--ey-ui-ok); }
.ey-app .ey-forms .eyvala-status-pending,
.ey-app .ey-forms .eyvala-status-not_started { background: var(--ey-ui-crit-bg); border-color: var(--ey-ui-crit-line); color: var(--ey-ui-crit-ink); }
.ey-app .ey-forms .eyvala-status-suspended,
.ey-app .ey-forms .eyvala-status-expiring,
.ey-app .ey-forms .eyvala-status-inactive { background: var(--ey-ui-bad-bg); color: var(--ey-ui-bad); }
.ey-app .ey-forms .eyvala-status-disabled,
.ey-app .ey-forms .eyvala-status-undefined { background: var(--ey-ui-surface-2); border-color: var(--ey-ui-line); color: var(--ey-ui-muted); }

/* Filas de datos, separadores y tarjetas. */
.ey-app .ey-forms .eyvala-data-row,
.ey-app .ey-forms .eyvala-pet-card-detail,
.ey-app .ey-forms .eyvala-login-register,
.ey-app .ey-forms .eyvala-lost-mode-block,
.ey-app .ey-forms .eyvala-pet-config-status,
.ey-app .ey-forms .eyvala-pet-config-deactivation,
.ey-app .ey-forms .eyvala-pet-config-private-id-lists,
.ey-app .ey-forms .eyvala-family-help-contact,
.ey-app .ey-forms .eyvala-wc-subscription,
.ey-app .ey-forms .eyvala-pet-config-nav .eyvala-wc-subscription--sidebar,
.ey-app .ey-forms .eyvala-wc-history-lines li { border-color: var(--ey-ui-line); }

.ey-app .ey-forms .eyvala-empty-state { border-color: var(--ey-ui-line); color: var(--ey-ui-muted); }

.ey-app .ey-forms .eyvala-pet-card,
.ey-app .ey-forms .eyvala-privacy-panel,
.ey-app .ey-forms .eyvala-privacy-center,
.ey-app .ey-forms .eyvala-wc-history-item,
.ey-app .ey-forms .eyvala-family-help-section,
.ey-app .ey-forms .eyvala-private-profile-heading,
.ey-app .ey-forms .eyvala-private-profile-card,
.ey-app .ey-forms .eyvala-private-id-family {
    border: 1px solid var(--ey-ui-line);
    background: var(--ey-ui-surface);
    color: var(--ey-ui-ink);
}

.ey-app .ey-forms .eyvala-pet-card-media,
.ey-app .ey-forms .eyvala-pet-photo-current,
.ey-app .ey-forms .eyvala-pet-info-modal-photo { border-color: var(--ey-ui-line); background: var(--ey-ui-surface-2); }

.ey-app .ey-forms .eyvala-toggle-row,
.ey-app .ey-forms .eyvala-recovery-qr-card,
.ey-app .ey-forms .eyvala-privacy-request-item,
.ey-app .ey-forms .eyvala-recovery-activation-status,
.ey-app .ey-forms .eyvala-private-id-card,
.ey-app .ey-forms .eyvala-private-id-reason,
.ey-app .ey-forms .eyvala-private-id-status,
.ey-app .ey-forms .eyvala-private-id-privacy-note,
.ey-app .ey-forms .eyvala-private-id-readonly { border-color: var(--ey-ui-line); background: var(--ey-ui-surface-2); color: var(--ey-ui-ink); }

.ey-app .ey-forms .eyvala-privacy-check-grid label,
.ey-app .ey-forms .eyvala-privacy-authorization-checks label,
.ey-app .ey-forms .eyvala-private-id-data-item,
.ey-app .ey-forms .eyvala-private-id-request { border-color: var(--ey-ui-line); }

.ey-app .ey-forms .eyvala-privacy-request-status { background: var(--ey-ui-surface-2); color: var(--ey-ui-muted); }

/* Avisos de privacidad y consentimientos: Coral suave con borde o tinta de éxito, nunca ámbar. */
.ey-app .ey-forms .eyvala-privacy-warning,
.ey-app .ey-forms .eyvala-consent-version-warning,
.ey-app .ey-forms .eyvala-pet-info-modal-requests--pending,
.ey-app .ey-forms .eyvala-form-field-flagged,
.ey-app .ey-forms .eyvala-lost-mode-active-item,
.ey-app .ey-forms .eyvala-private-id-pending-badge,
.ey-app .ey-forms .eyvala-private-profile-notice.is-warning,
.ey-app .ey-forms .eyvala-private-id-notice.is-warning {
    border: 1px solid var(--ey-ui-crit-line);
    background: var(--ey-ui-crit-bg);
    color: var(--ey-ui-crit-ink) !important;
}

.ey-app .ey-forms .eyvala-consent-box { border: 1.5px solid var(--ey-ui-ok); background: var(--ey-ui-ok-bg); }
.ey-app .ey-forms .eyvala-consent-box label { color: var(--ey-ui-ok); }
.ey-app .ey-forms .eyvala-pet-success-popup { border-color: var(--ey-ui-ok); background: var(--ey-ui-ok-bg); color: var(--ey-ui-ok); }
.ey-app .ey-forms .eyvala-pet-success-icon { background: var(--ey-ui-ok); color: var(--ey-ui-ok-bg); }
.ey-app .ey-forms .eyvala-pet-card-highlight { border-color: var(--ey-ui-ok); box-shadow: none; }

.ey-app .ey-forms .eyvala-private-profile-notice.is-success,
.ey-app .ey-forms .eyvala-private-id-notice.is-success { border: 1px solid var(--ey-ui-ok); background: var(--ey-ui-ok-bg); color: var(--ey-ui-ok); }
.ey-app .ey-forms .eyvala-private-profile-notice.is-error,
.ey-app .ey-forms .eyvala-private-id-notice.is-error,
.ey-app .ey-forms .eyvala-private-id-public-error { border: 1px solid var(--ey-ui-bad); background: var(--ey-ui-bad-bg); color: var(--ey-ui-bad); }
.ey-app .ey-forms .eyvala-private-profile-notice.is-loading { border: 1px solid var(--ey-ui-line); background: var(--ey-ui-surface-2); color: var(--ey-ui-muted); }
.ey-app .ey-forms .eyvala-private-profile-spinner { border-color: var(--ey-ui-line); border-top-color: var(--ey-ui-pri); }

/* Campos de cada formulario: mismas reglas de campo que el resto del sistema. */
.ey-app .ey-forms .eyvala-pet-field input,
.ey-app .ey-forms .eyvala-pet-field select,
.ey-app .ey-forms .eyvala-pet-field textarea,
.ey-app .ey-forms .eyvala-form-field input,
.ey-app .ey-forms .eyvala-form-field select,
.ey-app .ey-forms .eyvala-pet-config-deactivation-form select,
.ey-app .ey-forms .eyvala-pet-config-deactivation-form textarea,
.ey-app .ey-forms .eyvala-update-data #eyvala_address,
.ey-app .ey-forms .eyvala-update-data #eyvala_contact_preference,
.ey-app .ey-forms .eyvala-update-data .eyvala-phone-number,
.ey-app .ey-forms .eyvala-update-data .eyvala-location-country-select,
.ey-app .ey-forms .eyvala-update-data .eyvala-location-city-text,
.ey-app .ey-forms .eyvala-update-data .eyvala-location-city-input,
.ey-app .ey-forms .eyvala-change-password input[type='password'],
.ey-app .ey-forms .eyvala-private-profile-grid input,
.ey-app .ey-forms .eyvala-private-profile-grid select,
.ey-app .ey-forms .eyvala-private-profile-grid textarea,
.ey-app .ey-forms .eyvala-private-id-public-form input,
.ey-app .ey-forms .eyvala-private-id-public-form textarea {
    border: 1.5px solid var(--ey-ui-field-line);
    background: var(--ey-ui-field);
    color: var(--ey-ui-ink);
}

.ey-app .ey-forms .eyvala-phone-country-wrap,
.ey-app .ey-forms .eyvala-update-data .eyvala-phone-country-wrap { border: 1.5px solid var(--ey-ui-field-line); background: var(--ey-ui-field); color: var(--ey-ui-ink); }
.ey-app .ey-forms .eyvala-phone-country-wrap::after { border-top-color: var(--ey-ui-muted); }
.ey-app .ey-forms .eyvala-phone-field.is-invalid .eyvala-phone-number { border-color: var(--ey-ui-bad); }
.ey-app .ey-forms .eyvala-phone-field.is-valid .eyvala-phone-number { border-color: var(--ey-ui-ok); }
.ey-app .ey-forms .eyvala-phone-country { background: transparent; color: var(--ey-ui-ink); }

.ey-app .ey-forms .eyvala-location-city-listbox { border: 1px solid var(--ey-ui-line); background: var(--ey-ui-surface); color: var(--ey-ui-ink); box-shadow: var(--ey-ui-shadow); }
.ey-app .ey-forms .eyvala-location-city-option.is-active,
.ey-app .ey-forms .eyvala-location-city-option:hover { background: var(--ey-ui-tile); }

.ey-app .ey-forms .eyvala-pet-field input:focus,
.ey-app .ey-forms .eyvala-pet-field select:focus,
.ey-app .ey-forms .eyvala-pet-field textarea:focus,
.ey-app .ey-forms .eyvala-form-field input:focus,
.ey-app .ey-forms .eyvala-form-field select:focus { outline: 3px solid var(--ey-ui-focus); outline-offset: 2px; }

/* Botón de archivo, mostrar contraseña, copiar URL y botones sueltos. */
.ey-app .ey-forms .eyvala-file-field-button,
.ey-app .ey-forms .eyvala-private-profile-grid .eyvala-file-field-button {
    border: 1.5px solid var(--ey-ui-pri);
    border-radius: 12px;
    background: transparent;
    color: var(--ey-ui-ink);
}

.ey-app .ey-forms .eyvala-file-field-button:hover { background: var(--ey-ui-tile); }
.ey-app .ey-forms .eyvala-file-field-input:focus + .eyvala-file-field-button,
.ey-app .ey-forms .eyvala-file-field-input:focus-visible + .eyvala-file-field-button { outline: 3px solid var(--ey-ui-focus); outline-offset: 2px; }

.ey-app .ey-forms .eyvala-password-toggle { background: var(--ey-ui-surface-2); color: var(--ey-ui-ink); }
.ey-app .ey-forms .eyvala-password-toggle:hover { background: var(--ey-ui-tile); }
.ey-app .ey-forms .eyvala-password-requirements li.is-met { color: var(--ey-ui-ok); }

.ey-app .ey-forms .eyvala-copy-url-btn { border-color: var(--ey-ui-pri); background: var(--ey-ui-pri); color: var(--ey-ui-pri-ink); }
.ey-app .ey-forms .eyvala-copy-url-btn:hover,
.ey-app .ey-forms .eyvala-copy-url-btn:focus { border-color: var(--ey-ui-pri); background: var(--ey-ui-pri); color: var(--ey-ui-pri-ink); opacity: 0.92; }
.ey-app .ey-forms .eyvala-copy-url-btn.is-copied { border-color: var(--ey-ui-ok); background: var(--ey-ui-ok-bg); color: var(--ey-ui-ok); }
.ey-app .ey-forms .eyvala-copy-url-btn.is-copy-error { border-color: var(--ey-ui-bad); background: var(--ey-ui-bad-bg); color: var(--ey-ui-bad); }

.ey-app .ey-forms .eyvala-pet-card .eyvala-button.eyvala-pet-card-view-trigger { border-color: var(--ey-ui-pri); color: var(--ey-ui-ink) !important; }
.ey-app .ey-forms .eyvala-pet-card .eyvala-button.eyvala-pet-card-view-trigger:hover,
.ey-app .ey-forms .eyvala-pet-card .eyvala-button.eyvala-pet-card-view-trigger:focus-visible { background: var(--ey-ui-pri); color: var(--ey-ui-pri-ink) !important; }
.ey-app .ey-forms .eyvala-pet-config-actions .eyvala-button-disabled { border-color: var(--ey-ui-line); color: var(--ey-ui-muted) !important; }
.ey-app .ey-forms .eyvala-button-danger { border-color: var(--ey-ui-bad); background: transparent; color: var(--ey-ui-bad) !important; }
.ey-app .ey-forms .eyvala-help-fab { background: var(--ey-ui-pri); color: var(--ey-ui-pri-ink) !important; box-shadow: var(--ey-ui-shadow); }
.ey-app .ey-forms .eyvala-whatsapp-button { border-color: var(--ey-ui-pri) !important; background: transparent !important; color: var(--ey-ui-ink) !important; }

/* Textos secundarios. */
.ey-app .ey-forms .eyvala-pet-config-id-hint,
.ey-app .ey-forms .eyvala-family-help-section p,
.ey-app .ey-forms .eyvala-private-profile-help,
.ey-app .ey-forms .eyvala-private-profile-grid small,
.ey-app .ey-forms .eyvala-private-profile-empty,
.ey-app .ey-forms .eyvala-private-profile-record-head small,
.ey-app .ey-forms .eyvala-private-profile-record-lines,
.ey-app .ey-forms .eyvala-private-profile-document span,
.ey-app .ey-forms .eyvala-private-profile-document small,
.ey-app .ey-forms .eyvala-private-profile-group > summary span,
.ey-app .ey-forms .eyvala-recovery-status-inactive,
.ey-app .ey-forms .eyvala-private-id-record-lines dt { color: var(--ey-ui-muted); }

.ey-app .ey-forms .eyvala-recovery-status-active { color: var(--ey-ui-ok); }
.ey-app .ey-forms .eyvala-private-id-state.is-active,
.ey-app .ey-forms .eyvala-private-id-authorized-badge { color: var(--ey-ui-ok); background: var(--ey-ui-ok-bg); }
.ey-app .ey-forms .eyvala-private-profile-link-danger,
.ey-app .ey-forms .eyvala-private-profile-document-delete-action { color: var(--ey-ui-bad); }

/* Cédula ID: grupos, registros, documentos y cajas. */
.ey-app .ey-forms .eyvala-private-profile-group,
.ey-app .ey-forms .eyvala-private-profile-record,
.ey-app .ey-forms .eyvala-private-profile-document,
.ey-app .ey-forms .eyvala-private-profile-status-details,
.ey-app .ey-forms .eyvala-private-profile-upload { border-color: var(--ey-ui-line); }
.ey-app .ey-forms .eyvala-private-profile-group > summary { background: var(--ey-ui-surface-2); color: var(--ey-ui-ink); }
.ey-app .ey-forms .eyvala-private-profile-document-replace form { border: 1px solid var(--ey-ui-line); background: var(--ey-ui-surface); box-shadow: var(--ey-ui-shadow); }
.ey-app .ey-forms .eyvala-private-profile-document-replace button { border: 1px solid var(--ey-ui-pri) !important; background: transparent !important; color: var(--ey-ui-ink) !important; }
.ey-app .ey-forms .eyvala-private-id-urlbox code { border: 1px solid var(--ey-ui-line); background: var(--ey-ui-surface-2); color: var(--ey-ui-ink); }
.ey-app .ey-forms .eyvala-private-id-notify-toggle { border: 1px solid var(--ey-ui-pri); background: transparent; color: var(--ey-ui-ink); }
.ey-app .ey-forms .eyvala-private-id-notify-toggle:hover { background: var(--ey-ui-tile); }
.ey-app .ey-forms .eyvala-private-id-record-lines > div,
.ey-app .ey-forms .eyvala-private-id-session-row,
.ey-app .ey-forms .eyvala-private-id-history-row { border-color: var(--ey-ui-line); }
.ey-app .ey-forms .eyvala-preparation .eyvala-form-field input[type='checkbox'] { accent-color: var(--ey-ui-pri); }

/* Casillas y botones de radio con el color del sistema. */
.ey-app .ey-forms input[type='checkbox'],
.ey-app .ey-forms input[type='radio'] { accent-color: var(--ey-ui-pri); }
